{"_id":"@carsondarling/mongoose-jsonapi","_rev":"7-92b171e85d438ab1420064b636d7d61c","name":"@carsondarling/mongoose-jsonapi","description":"Mongoose plugin that provides JSON API support","dist-tags":{"latest":"1.2.2"},"versions":{"1.0.0":{"name":"@carsondarling/mongoose-jsonapi","version":"1.0.0","description":"Mongoose plugin that provides JSON API support","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/carsondarling/mongoose-jsonapi.git"},"author":{"name":"Carson Darling","email":"carson@darl.i.ng"},"license":"MIT","bugs":{"url":"https://github.com/carsondarling/mongoose-jsonapi/issues"},"homepage":"https://github.com/carsondarling/mongoose-jsonapi#readme","dependencies":{"jsonapi-serializer":"3.4.2","lodash":"4.17.4"},"devDependencies":{"eslint":"3.14.0","eslint-config-airbnb":"14.0.0","eslint-plugin-import":"2.2.0","eslint-plugin-jsx-a11y":"3.0.2","eslint-plugin-mocha":"4.8.0","eslint-plugin-react":"6.9.0","mocha":"3.2.0","mongoose":"4.7.7","should":"11.1.2"},"gitHead":"caf54434170c44f87c43397d31f15385bedcc6c2","_id":"@carsondarling/mongoose-jsonapi@1.0.0","_shasum":"1434b827b3b8b5f7506bf56816cd6aaef31cf6e8","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"carsondarling","email":"carsondarling@gmail.com"},"dist":{"shasum":"1434b827b3b8b5f7506bf56816cd6aaef31cf6e8","tarball":"https://registry.npmjs.org/@carsondarling/mongoose-jsonapi/-/mongoose-jsonapi-1.0.0.tgz","integrity":"sha512-AW+8u3A0WDJpQ7DHij/ctpu7oTBaN/EeJxsBUmhPGfY8Cj1YiTd1KXSn2UatX7kXDdJF1s81hgygYlL2DvUl2Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDwASygqsfxRKuyFRPRlCq+mtY3ENUc7sQfHVQ0/OOXywIhAIEt9jgNvMhnLeyt+VwPSl/OWzgVk/d5Pc/wQryki80I"}]},"maintainers":[{"name":"carsondarling","email":"carsondarling@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mongoose-jsonapi-1.0.0.tgz_1485212975359_0.05798877985216677"},"directories":{}},"1.1.0":{"name":"@carsondarling/mongoose-jsonapi","version":"1.1.0","description":"Mongoose plugin that provides JSON API support","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/carsondarling/mongoose-jsonapi.git"},"author":{"name":"Carson Darling","email":"carson@darl.i.ng"},"license":"MIT","bugs":{"url":"https://github.com/carsondarling/mongoose-jsonapi/issues"},"homepage":"https://github.com/carsondarling/mongoose-jsonapi#readme","dependencies":{"jsonapi-serializer":"3.4.2","lodash":"4.17.4"},"devDependencies":{"eslint":"3.14.0","eslint-config-airbnb":"14.0.0","eslint-plugin-import":"2.2.0","eslint-plugin-jsx-a11y":"3.0.2","eslint-plugin-mocha":"4.8.0","eslint-plugin-react":"6.9.0","mocha":"3.2.0","mongoose":"4.7.7","should":"11.1.2"},"gitHead":"6ccba94974806ae89622985f3458dde5ecd3829d","_id":"@carsondarling/mongoose-jsonapi@1.1.0","_shasum":"72b2645645f25fc3abec936c00075c8bf45e28ff","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"carsondarling","email":"carsondarling@gmail.com"},"dist":{"shasum":"72b2645645f25fc3abec936c00075c8bf45e28ff","tarball":"https://registry.npmjs.org/@carsondarling/mongoose-jsonapi/-/mongoose-jsonapi-1.1.0.tgz","integrity":"sha512-5tm9JskLTxqodcOtCB5900tCThjH8yTkL7HVGg/P5F8PlVsFev0LXJBGS35hEIj2WqcC/bDij/mYaMcc68w47w==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDYnMxg6fpJjDWJ4lYGuBH6BBgAKtlxH7SW2+8wOte6kAIhANrV9vO0GIZa14t7FqDFVRgkysUs00DMd7Hmb5dJJweS"}]},"maintainers":[{"name":"carsondarling","email":"carsondarling@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mongoose-jsonapi-1.1.0.tgz_1487021540104_0.35846378840506077"},"directories":{}},"1.2.0":{"name":"@carsondarling/mongoose-jsonapi","version":"1.2.0","description":"Mongoose plugin that provides JSON API support","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/carsondarling/mongoose-jsonapi.git"},"author":{"name":"Carson Darling","email":"carson@darl.i.ng"},"license":"MIT","bugs":{"url":"https://github.com/carsondarling/mongoose-jsonapi/issues"},"homepage":"https://github.com/carsondarling/mongoose-jsonapi#readme","dependencies":{"jsonapi-serializer":"3.5.2","lodash":"4.17.4"},"devDependencies":{"eslint":"3.14.0","eslint-config-airbnb":"14.0.0","eslint-plugin-import":"2.2.0","eslint-plugin-jsx-a11y":"3.0.2","eslint-plugin-mocha":"4.8.0","eslint-plugin-react":"6.9.0","mocha":"3.2.0","mongoose":"4.7.7","should":"11.1.2"},"gitHead":"e983ce3c7040b2ce2d147acd4b2c0f982c6416ad","_id":"@carsondarling/mongoose-jsonapi@1.2.0","_shasum":"dc01dbd79a4ad301277a2642182da4938cdca1f8","_from":".","_npmVersion":"3.10.9","_nodeVersion":"6.9.2","_npmUser":{"name":"carsondarling","email":"carsondarling@gmail.com"},"dist":{"shasum":"dc01dbd79a4ad301277a2642182da4938cdca1f8","tarball":"https://registry.npmjs.org/@carsondarling/mongoose-jsonapi/-/mongoose-jsonapi-1.2.0.tgz","integrity":"sha512-t/Tv55EAQ8u4gEJU+OW8CjZXhYO2rNfGOxIqE63jirbwOmMeipgihLgAuzunljNovfIdYGPmDR4/ykE9yMK8ZA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCa9eeYvzp5DSctdCqXkSFNS/dWxqJfxnC8u+GUhExUaAIhAJTbEISBGm7LfURK0uEb+wQHWHeENoeYNxj2NgVz5ka8"}]},"maintainers":[{"name":"carsondarling","email":"carsondarling@gmail.com"}],"_npmOperationalInternal":{"host":"packages-12-west.internal.npmjs.com","tmp":"tmp/mongoose-jsonapi-1.2.0.tgz_1494356013933_0.7729776699561626"},"directories":{}},"1.2.1":{"name":"@carsondarling/mongoose-jsonapi","version":"1.2.1","description":"Mongoose plugin that provides JSON API support","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/carsondarling/mongoose-jsonapi.git"},"author":{"name":"Carson Darling","email":"carson@darl.i.ng"},"license":"MIT","bugs":{"url":"https://github.com/carsondarling/mongoose-jsonapi/issues"},"homepage":"https://github.com/carsondarling/mongoose-jsonapi#readme","dependencies":{"jsonapi-serializer":"^3.6.3","lodash":"^4.17.11"},"devDependencies":{"eslint":"3.14.0","eslint-config-airbnb":"14.0.0","eslint-plugin-import":"2.2.0","eslint-plugin-jsx-a11y":"3.0.2","eslint-plugin-mocha":"4.8.0","eslint-plugin-react":"6.9.0","mocha":"^5.2.0","mongoose":"4.7.7","should":"11.1.2"},"gitHead":"c15fe602632524c7ff49b309a9deb4e57ce81756","_id":"@carsondarling/mongoose-jsonapi@1.2.1","_npmVersion":"6.4.0","_nodeVersion":"8.11.3","_npmUser":{"name":"carsondarling","email":"carsondarling@gmail.com"},"dist":{"integrity":"sha512-fx5xHcLBh+AhRs8TZkLzH153trJwbZ0nsRyLmTJAvF1zv0JQHB90R4Zv1yKxe4d1+SWmk5uVncQ20PWEaoGmkg==","shasum":"9ccb340241ec072bece7775f4a60809776ebbfd7","tarball":"https://registry.npmjs.org/@carsondarling/mongoose-jsonapi/-/mongoose-jsonapi-1.2.1.tgz","fileCount":10,"unpackedSize":87632,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb/sURCRA9TVsSAnZWagAApD8P/14V8BLbziFqc1Wnm//i\nLFveSp2hMwrZS0DcExMkBQ8ZZGTyeL174KVW7fftGdI/iOM27K8K+KlOdMPL\nIrT2qJkM5LlcMvePyTIY6r4s+gu4aIa48uaxPLAFU+QchbBc2n/IpsQOBb9l\njmxfT2YW06Wkmt4K/7Tkd2J6Fv7pafKc0xPzJ+E+aD8rvTtdPe8+Fk8rOtII\nmGn2cVPkMF3c99FfS0Cc7gHWdVAU4V+zoyEdqbkvcsnz5sM4cBIfE08aq9QI\njapgFo7+rqGHZBz0zeeGA4nQJjuNDPJ+J2EU44YTv+YmcIXD1y+RNtmwihHb\nxjM24/rQYKpywNp+0/HKaj7UrOudWwIIZGN8L+LqysJtMPh9AexPLAMnYYjg\nHviFWoyFhEEd1tF7XzpJxlkRLk1vNcdQw2aA4CPM+SPmBxist6AlXFfnD87E\nYfV16B3qi6GlWESKMNvidCYxqs0KXVVOYM9fuPnfAUpv8XNbMkljYlKEcxOl\nAeW6n/MQM7JKq+MuFZiTKQbYk+sdawnQ+w98joNhZ7RHig34Oj2ctkkAAzN+\n4vIFm6RdlFkO2DEAizzD2V5iGx4IlU1StDuyQr3X/zw66RuwVRmTEsIXU2fS\nd3eJi4W1Hy3lpw7NmyDoSlTEkF1PsXK//I0n/zOZVzxc5DicsYeVCNfLHZUk\nHa6a\r\n=f6Mj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDA9YDE8kRrxKSTSeinhnH1uSQjPgfy/8bJ8NctV5syBAIgWKr/IRRKEqj7WD4xlRtEtnIIuDAq/A+yNmnL0fx9DOg="}]},"maintainers":[{"name":"carsondarling","email":"carsondarling@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mongoose-jsonapi_1.2.1_1543423248723_0.6023328478709689"},"_hasShrinkwrap":false},"1.2.2":{"name":"@carsondarling/mongoose-jsonapi","version":"1.2.2","description":"Mongoose plugin that provides JSON API support","main":"index.js","scripts":{"test":"mocha"},"repository":{"type":"git","url":"git+https://github.com/carsondarling/mongoose-jsonapi.git"},"author":{"name":"Carson Darling","email":"carson@darl.i.ng"},"license":"MIT","bugs":{"url":"https://github.com/carsondarling/mongoose-jsonapi/issues"},"homepage":"https://github.com/carsondarling/mongoose-jsonapi#readme","dependencies":{"jsonapi-serializer":"3.6.7","lodash":"4.17.21"},"eslintConfig":{"extends":"airbnb-base"},"prettier":{"singleQuote":true,"trailingComma":"all"},"devDependencies":{"@types/jsonapi-serializer":"^3.6.3","@types/mongoose":"5.10.5","eslint":"7.1.0","eslint-config-airbnb-base":"14.1.0","eslint-plugin-import":"2.20.2","eslint-plugin-mocha":"7.0.1","mocha":"7.2.0","mongoose":"5.9.17","prettier":"2.0.5","should":"13.2.3"},"gitHead":"ba830e2b96884ffe10fdf19d8a37f8665ea02b3c","_id":"@carsondarling/mongoose-jsonapi@1.2.2","_nodeVersion":"12.22.1","_npmVersion":"6.14.10","dist":{"integrity":"sha512-Sn/nmItKeudrzGgdJV73utcZ+aKT3o+gHTpKaTBm4pyAbCj8RDwgbg72w4xYl2jw+1az7fOtGPd9pb36bpTv3g==","shasum":"fce1f168930fc66d7bc305e6939afc9f866c43c6","tarball":"https://registry.npmjs.org/@carsondarling/mongoose-jsonapi/-/mongoose-jsonapi-1.2.2.tgz","fileCount":8,"unpackedSize":43752,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtnEyCRA9TVsSAnZWagAAzc4P/3LAF8E3f3ydwY7Btvwr\nqbx6+VG0JhQrWY2W0pc9rf3t0wumf5ET1Wd3eyIyojs7zyAQaYZE8S7zsV78\n2YrZPE+WD5PZlOpAaratFMia9LA8poYnefdmjTI/oneqpt5FMfEiloERLv5P\ngFfYcckK2f3hZM0jNtKjjnldTJbyR5M6HIPwU9y+Nwf5rttMwVW7hGoSIzoA\nUU3qJcDVlXTAebxTx98dAKhp4eXCM54gecE5KZnRBs5X28Ja6uCoT2qZAxPm\nVa5+INgaIvyKPcQKwOxpVZ+TeoI+M+RGqcv2jxdfKGqInzfUGzPAF9I4C/7Q\n/deux/5Xvm+WvQbJYLaFOlcw+rSwHPLSjJpIznCTJqdt7x20V+RVRGTwsjiE\n6y5RRTsNgnDqw/s/8899MLK4Wmmw2ESqeHcjAgS9BQLgu1PSZwj6bdtsqoxP\nsRUlQvSvGrdNhqS8wqcz/uddUDoQ/20ins79RLsk1IpBIZVcpDOxR9HkvuPP\n3Q/GJA7lWTfQazAm7rlr5TFpWBQX9E+hmU0Q3DN1l1Mb/gnNDOA5owYIx6VL\nExJcwerO6dtmij43xuMwR7DSFyCbKj+S1ECPb0ppAMZvuJjQaAk7R0cAqCrA\n7GFsyZT4exVFneMno51mXxpuREZcXnY01100tRRZae+UmyeG7PnJzI+/SIdI\nZpRi\r\n=fDh/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFJvZMSK4JnIyW0Yf6tbBaNYMbIp+8bclUaGjz/o+MXBAiAzuacMNiuIZTLraKkHmKh27wdEy0BVWGJ36AtqVKIrAg=="}]},"_npmUser":{"name":"carsondarling","email":"carsondarling@gmail.com"},"directories":{},"maintainers":[{"name":"carsondarling","email":"carsondarling@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/mongoose-jsonapi_1.2.2_1622569266142_0.7761418688519839"},"_hasShrinkwrap":false}},"readme":"# Mongoose JSONAPI Plugin\n\nThis is a plugin for Mongoose that provides JSON API-compliant serialization and deserialization for Mongoose models.\n\n## Usage\n\n```node\nconst mongoose = require('mongoose');\nconst jsonapi = require('@carsondarling/mongoose-jsonapi');\n\nconst sampleSchema = mongoose.Schema({\n  name: String,\n});\n\nsampleSchema.plugin(jsonapi, { name: 'sample' });\nconst Sample = mongoose.model('Sample', sampleSchema);\n\nconst document = new Sample({ name: 'Sample Name' });\ndocument.serialize(); // -> JSON API document\nSample.serialize(document); // -> JSON API document\n\nconst jsonAPIDocument = {\n  data: {\n    type: 'samples',\n    id: '58868a32879743b79f1cbc36',\n    attributes: {\n      name: 'Sample Name',\n    },\n  },\n};\n\nSample.fromJSONAPI(jsonAPIDocument).then((sample) => {\n  // Sample document\n});\n```\n\n## API\n\n### Plugin Constructor\n\n```node\nschema.plugin(jsonapi, {\n  name: 'sample',\n  attributes: [\n    // array of attribute names to be included when serialized\n    'name',\n  ],\n  keyForAttributes: 'camelCase', // method for converting key names\n});\n```\n\n### Model.serialize(document)\n\nProduces a JSON-API representation of a Mongoose document.\n\n`model`: Mongoose document\n\n### Model.deserialize(resource)\n\n**Async** Produces a plain JavaScript object that contains the information in the JSON-API compliant resource.\n\n`resource`: A JSON-API compliant object that describes a resource\n\n### Model.fromJSONAPI(resource)\n\n**Async** Produces a document that is an instance of the Model from a JSON-API compliant resource.\n\n`resource`: A JSON-API compliant object that describes a resource\n\n### document.serialize()\n\nProduces a JSON-API representation of the document.\n\n### document.updateFromJSONAPI(resource)\n\n**Async** Updates the document form the JSON-API compliant resource.\n\n`resource`: A JSON-API compliant object that describes a resource\n","maintainers":[{"name":"carsondarling","email":"carsondarling@gmail.com"}],"time":{"modified":"2022-06-12T15:42:14.943Z","created":"2017-01-23T23:09:37.172Z","1.0.0":"2017-01-23T23:09:37.172Z","1.1.0":"2017-02-13T21:32:22.132Z","1.2.0":"2017-05-09T18:53:35.661Z","1.2.1":"2018-11-28T16:40:49.177Z","1.2.2":"2021-06-01T17:41:06.332Z"},"homepage":"https://github.com/carsondarling/mongoose-jsonapi#readme","repository":{"type":"git","url":"git+https://github.com/carsondarling/mongoose-jsonapi.git"},"author":{"name":"Carson Darling","email":"carson@darl.i.ng"},"bugs":{"url":"https://github.com/carsondarling/mongoose-jsonapi/issues"},"license":"MIT","readmeFilename":"README.md"}