{"_id":"@bouchezb/mongoose-keywords","_rev":"2-e78a7757242206d1eb4d93cc02984094","name":"@bouchezb/mongoose-keywords","dist-tags":{"latest":"0.6.0"},"versions":{"0.5.0":{"name":"@bouchezb/mongoose-keywords","version":"0.5.0","description":"Fork of project diegohaz/mongoose-keywords - Mongoose plugin that recursively generates keywords for documents based on its fields","main":"dist/index.js","scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"node ./node_modules/babel-cli/bin/babel.js --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish --access public","minor":"npm version minor && npm publish --access public","major":"npm version major && npm publish --access public","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/bouchezb/mongoose-keywords.git"},"keywords":["keywords","keyword","mongoose","mongodb","terms","kebab"],"author":{"name":"Benoit Bouchez","email":"benbouchez@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bouchezb/mongoose-keywords/issues"},"homepage":"https://github.com/bouchezb/mongoose-keywords#readme","devDependencies":{"babel-cli":"^6.8.0","babel-core":"^6.8.0","babel-eslint":"*","babel-preset-es2015":"^6.6.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","isparta":"*","mongoose":"^5.0.15","rimraf":"*","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.2"},"gitHead":"26f003496bbc53d91b820e1ef111b4809064be00","_id":"@bouchezb/mongoose-keywords@0.5.0","_nodeVersion":"10.15.3","_npmVersion":"6.8.0","dist":{"integrity":"sha512-YzxpWVnS8Pn3NLUmLIK2DJ6ywY1d4ar53z2oN8747OdpqN3bdgJt4C5AO4L4hMkKoRuqx6TVTdp2dHSn43I4Fw==","shasum":"2b192243769aba1f068bf7aea7583b2542e523a3","tarball":"https://registry.npmjs.org/@bouchezb/mongoose-keywords/-/mongoose-keywords-0.5.0.tgz","fileCount":4,"unpackedSize":9989,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc/9YvCRA9TVsSAnZWagAA0dwP/0hK4T/qqKyGWZPIjvMa\ncxolMFlfrkidINUyCmYfE5tWxpCFbKHut2ALRIK+SsdKPM7WKEw7wQCgfKRE\nKu/U+8kO3DYCg7EYBeP4/U84QVRI96LrMbPG4gKjG+aPFVcx5r6S6mISsso/\n268aJx3dwmTxl891lJRHQYEJGu4wQ1L0e6L//WRKPTGNJBA7+ROpAzxLhfrl\nWk4cO7thDDsxU21E959jH79rGzzwD1i3Z8iRKme8IhX2a5xlgUBmsfZt0c5t\n0p0QWolSts5dd7RydiJ7j9iyjxv2P+PVTG71XMWekcyC/qk0w2KtXs914on0\njtH+1B/sJn8aKbbkJvwd01ojNgJSbwVfJ3K2rlqu4r64FxZbIlZWSzQTg6T0\ndtb9d3H6Eo/jD1ahb+tY8TI12bEsJBIiHoFhqD0cdjciX/fXpA1X3sONE+Xf\n7Bd4wVv8Q23ESQNZLsO6KtwTu029SRzwLVGp/ox2zbVNZITNTA6JzKb2e9zr\nEpMWIeeFNdRYpInw4WRHj9Nm2fUrYnTMmGpxNuI00N3X/QvkNVSu0nqPfZFR\nUk+DwdSuOEi7laYaIVIM/0k+c7bfXDk24kzP7NE/AOHuXDjMx1JoYYt7YB9u\ni7Sff3BFcX1+UyRghd4ojn+RFpK54626i57RTGhinZ6Q5gNLs8zXpUp2wIX3\n/B2n\r\n=xuF/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB3GyxfKyhyJavptSlUvQM5KXt4ghW8v+azVT/bqLlGeAiBWXqUVcus8uxjxX6PtDR0gt8jR6M4AsSUL3N5EieXWkw=="}]},"maintainers":[{"name":"bouchezb","email":"benbouchez@gmail.com"}],"_npmUser":{"name":"bouchezb","email":"benbouchez@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mongoose-keywords_0.5.0_1560270383162_0.9202639851910859"},"_hasShrinkwrap":false},"0.6.0":{"name":"@bouchezb/mongoose-keywords","version":"0.6.0","description":"Fork of project diegohaz/mongoose-keywords - Mongoose plugin that recursively generates keywords for documents based on its fields","main":"dist/index.js","scripts":{"clean":"rimraf dist","lint":"eslint src test","check":"npm run lint -s && dependency-check package.json --entry src","watch":"watch 'npm run build' src test","test":"babel-node test/index.js | tspec","prebuild":"npm run check -s && npm run clean -s","build":"node ./node_modules/babel-cli/bin/babel.js --optional runtime src -d dist","postbuild":"npm run test -s","coverage":"babel-node node_modules/isparta/bin/isparta cover test/index.js","coveralls":"npm run coverage -s && coveralls < coverage/lcov.info","postcoveralls":"rimraf ./coverage","prepublish":"npm run build -s","deploy":"git pull --rebase origin master && git push origin master","patch":"npm version patch && npm publish --access public","minor":"npm version minor && npm publish --access public","major":"npm version major && npm publish --access public","postpublish":"git push origin master --follow-tags","toc":"doctoc --github --title \"# Changelog\" CHANGELOG.md"},"repository":{"type":"git","url":"git+https://github.com/bouchezb/mongoose-keywords.git"},"keywords":["keywords","keyword","mongoose","mongodb","terms","kebab"],"author":{"name":"Benoit Bouchez","email":"benbouchez@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/bouchezb/mongoose-keywords/issues"},"homepage":"https://github.com/bouchezb/mongoose-keywords#readme","devDependencies":{"babel-cli":"^6.8.0","babel-core":"^6.8.0","babel-eslint":"*","babel-preset-es2015":"^6.6.0","coveralls":"*","dependency-check":"*","doctoc":"*","eslint":"*","isparta":"*","mongoose":"^5.0.15","rimraf":"*","tap-spec":"*","tape":"*","watch":"*"},"dependencies":{"lodash":"^4.11.2"},"gitHead":"c4a5a9ac8b4c2645c0f2e118ade105a5a82b63b2","_id":"@bouchezb/mongoose-keywords@0.6.0","_nodeVersion":"10.15.3","_npmVersion":"6.8.0","dist":{"integrity":"sha512-So5SNrETtN97XsRoDWv7tChK7lE3mS72nT5SSEDXFpmpasivmUA1Ce4IhBPj5w3EfYfaC/D5yxfPxT527og9Kg==","shasum":"b426f599d9ded0d12410e1a4a64068f113961b37","tarball":"https://registry.npmjs.org/@bouchezb/mongoose-keywords/-/mongoose-keywords-0.6.0.tgz","fileCount":4,"unpackedSize":10617,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdA1kYCRA9TVsSAnZWagAAShYP/jOj2CKHzG/JotqaNqmb\nYcjlhDWHtFzykZJSdAx3QRDk5Kg/+rOjCOoWUooaKgwuF2i4Qw9FglY/oG48\ndLjrH+PhIDm1yYMHW5a5nAohG346rbPcZ4fYks1iJ0++2jg1opPuXWh90zL/\nXIG65poZqTbjtKPbRUR6KEQpbE609+/bw4Z1OPEeVb8LG17xxc2HAUhz3G7P\nQ787beu+nVSmoCz6yeOXPF06IjwMcJoc4kV+ppqTKdqEAliCi6dlc5EGqjol\nqZuu5yJTZeVbLcNPBItAVTyCtUn1NMqU1xe46fDM3E2CJy57C1aJSVs0K62f\nYnuaJN7/l9PLIqRcT5wINiPmdEf50hKOx7RlGScRALaEOBZETBhIzmvQEDiY\nlAoreJ0VEUs2BtP0fEBuZR2cTG9fzvK9Z/R4CqB8Y9Ykc5PHvz1HIpVzPhCm\npBPGK3MXqp+B7+KDoGQ2F6oRecKr2GfTfKQUkZY0eOQi11/ioKYJUr3kV8H9\n4Q7BNhbXOX2g0g/bRAKQ7ieGVoEpxjWoBEB4gRFHMpZ/JqVcugZ/mD/+K0zm\nWJYDHIFgdCHcIczaSVaSRe0pgYbc8aUz38mZiCV+VZ6bygSMF/eoWrljcATL\nGDYd44HF5VCOuOXA8jdTWa07qDCvpiHfoI3zOAUVA9SQ2/2c+ptAMWBICntI\nXT/r\r\n=OURr\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFP2YRw7HiPORWV8p+GQn76pBXW3ttky66mzYIxMPAZVAiEAs9R3UwlUzuW5P8tJcrIk8c4ovm87S7pJSX17YvlrIgo="}]},"maintainers":[{"name":"bouchezb","email":"benbouchez@gmail.com"}],"_npmUser":{"name":"bouchezb","email":"benbouchez@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mongoose-keywords_0.6.0_1560500504060_0.18461289111312573"},"_hasShrinkwrap":false}},"time":{"created":"2019-06-11T16:26:23.129Z","0.5.0":"2019-06-11T16:26:23.347Z","modified":"2022-04-04T20:15:33.983Z","0.6.0":"2019-06-14T08:21:44.256Z"},"maintainers":[{"name":"bouchezb","email":"benbouchez@gmail.com"}],"description":"Fork of project diegohaz/mongoose-keywords - Mongoose plugin that recursively generates keywords for documents based on its fields","homepage":"https://github.com/bouchezb/mongoose-keywords#readme","keywords":["keywords","keyword","mongoose","mongodb","terms","kebab"],"repository":{"type":"git","url":"git+https://github.com/bouchezb/mongoose-keywords.git"},"author":{"name":"Benoit Bouchez","email":"benbouchez@gmail.com"},"bugs":{"url":"https://github.com/bouchezb/mongoose-keywords/issues"},"license":"MIT","readme":"# mongoose-keywords\n\n[![JS Standard Style][standard-image]][standard-url]\n[![NPM version][npm-image]][npm-url]\n[![Build Status][travis-image]][travis-url]\n[![Coveralls Status][coveralls-image]][coveralls-url]\n[![Dependency Status][depstat-image]][depstat-url]\n[![Downloads][download-badge]][npm-url]\n\n> Mongoose plugin that recursively generates keywords for documents based on its fields\n\n## Install\n\n```sh\nnpm install --save mongoose-keywords\n```\n\n## Usage\n\n### Single path\n```js\nvar mongoose = require('mongoose');\n\nvar ArtistSchema = new mongoose.Schema({\n  name: String\n});\n\nArtistSchema.plugin(require('mongoose-keywords'), {paths: ['name']});\n\nvar Artist = mongoose.model('Artist', ArtistSchema);\n\nvar artist = new Artist({name: \"L'arc~en~Ciel\"});\nconsole.log(artist.keywords); // ['larc en ciel']\n```\n\n### Multiple path\n```js\nvar ArtistSchema = new mongoose.Schema({\n  name: String,\n  genre: String\n});\n\nArtistSchema.plugin(require('mongoose-keywords'), {paths: ['name', 'genre']});\n\nvar Artist = mongoose.model('Artist', ArtistSchema);\n\nvar artist = new Artist({name: \"L'arc~en~Ciel\", genre: 'Jrock'});\nconsole.log(artist.keywords); // ['larc en ciel', 'jrock']\n```\n\n### Custom `keywords` path options\nYou can still define a `keywords` path on your schema with predefined options.\n```js\nvar ArtistSchema = new mongoose.Schema({\n  name: String,\n  keywords: {\n    type: [String],\n    unique: true // new custom option\n  }\n});\n\nArtistSchema.plugin(require('mongoose-keywords'), {paths: ['name']});\n```\n\n### Custom `keywords` field\n```js\nvar ArtistSchema = new mongoose.Schema({\n  name: String\n});\n\nArtistSchema.plugin(require('mongoose-keywords'), {\n  paths: ['name'],\n  field: 'terms'\n});\n\nvar Artist = mongoose.model('Artist', ArtistSchema);\n\nvar artist = new Artist({name: \"L'arc~en~Ciel\"});\nconsole.log(artist.keywords); // undefined\nconsole.log(artist.terms); // ['larc en ciel']\n```\n\n### Custom `transform` option\nBy default, `mongoose-keywords` normalizes the value, but you can provide your own transform function.\n```js\nvar mongoose = require('mongoose');\n\nvar ArtistSchema = new mongoose.Schema({\n  name: String\n});\n\nArtistSchema.plugin(require('mongoose-keywords'), {\n  paths: ['name'],\n  transform: function (value) {\n    return value + '!!!';\n  }\n});\n\nvar Artist = mongoose.model('Artist', ArtistSchema);\n\nvar artist = new Artist({name: \"L'arc~en~Ciel\"});\nconsole.log(artist.keywords); // [\"L'arc~en~Ciel!!!\"]\n```\n\n### Nested models\n```js\nvar mongoose = require('mongoose');\nvar mongooseKeywords = require('mongoose-keywords');\n\nvar GenreSchema = new mongoose.Schema({\n  title: String\n});\nGenreSchema.plugin(mongooseKeywords, {paths: ['title']});\n\nvar ArtistSchema = new mongoose.Schema({\n  name: String,\n  genre: {\n    type: mongoose.Schema.ObjectId,\n    ref: 'Genre'\n  }\n});\nArtistSchema.plugin(mongooseKeywords, {paths: ['name', 'genre']});\n\nvar Genre = mongoose.model('Genre', GenreSchema);\nvar genre = new Genre({title: 'Jrock'});\nconsole.log(genre.keywords); // ['jrock']\n\nvar Artist = mongoose.model('Artist', ArtistSchema);\nvar artist = new Artist({name: \"L'arc~en~Ciel\", genre: genre});\nconsole.log(artist.keywords); // ['larc en ciel', 'jrock']\n```\n\n## License\n\nMIT © [Diego Haz](http://github.com/diegohaz)\n\n[standard-url]: http://standardjs.com\n[standard-image]: https://img.shields.io/badge/code%20style-standard-brightgreen.svg\n\n[npm-url]: https://npmjs.org/package/mongoose-keywords\n[npm-image]: https://img.shields.io/npm/v/mongoose-keywords.svg?style=flat-square\n\n[travis-url]: https://travis-ci.org/diegohaz/mongoose-keywords\n[travis-image]: https://img.shields.io/travis/diegohaz/mongoose-keywords.svg?style=flat-square\n\n[coveralls-url]: https://coveralls.io/r/diegohaz/mongoose-keywords\n[coveralls-image]: https://img.shields.io/coveralls/diegohaz/mongoose-keywords.svg?style=flat-square\n\n[depstat-url]: https://david-dm.org/diegohaz/mongoose-keywords\n[depstat-image]: https://david-dm.org/diegohaz/mongoose-keywords.svg?style=flat-square\n\n[download-badge]: http://img.shields.io/npm/dm/mongoose-keywords.svg?style=flat-square\n","readmeFilename":"README.md"}