{"_id":"@arfedulov/typeorm-jsonapi-serializer","_rev":"3-79461147350dc0f7b78ccfc29c47ca24","name":"@arfedulov/typeorm-jsonapi-serializer","dist-tags":{"latest":"0.2.1"},"versions":{"0.1.0":{"name":"@arfedulov/typeorm-jsonapi-serializer","version":"0.1.0","main":"dist/index.js","author":{"name":"Artem Fedulov","email":"arfedulov@gmail.com"},"description":"Provides (de)serialization of jsonapi data for typeorm","license":"MIT","private":false,"repository":{"type":"git","url":"git+https://github.com/arfedulov/typeorm-jsonapi-serializer.git"},"bugs":{"url":"https://github.com/arfedulov/typeorm-jsonapi-serializer/issues","email":"arfedulov@gmail.com"},"dependencies":{"@types/jest":"^24","@types/lodash":"^4.14.144","@types/node":"^12","jsonapi-typescript":"^0.1.3","lodash":"^4.17.15","log4js":"^5.3.0","type-fest":"^0.8.1"},"peerDependencies":{"typeorm":"^0.2.20","reflect-metadata":"^0.1.13","typescript":"^3"},"devDependencies":{"tslint":"^5","ts-node":"^8","ts-jest":"^24","jest":"^24"},"scripts":{"test":"jest --passWithNoTests","check":"tsc --noEmit","prebuild":"rm -rf dist && yarn test","build":"npx tsc -p tsconfig.build.json --declaration","prepublish":"yarn run build"},"gitHead":"d1aa663fa67b51ace29ea337732372c11b7e64d0","homepage":"https://github.com/arfedulov/typeorm-jsonapi-serializer#readme","_id":"@arfedulov/typeorm-jsonapi-serializer@0.1.0","_nodeVersion":"10.16.0","_npmVersion":"6.9.0","dist":{"integrity":"sha512-tkr+wg5Z6FAr7rrE8dMbTyqJcG9Mwq0JVxVoTbc8HhCbLtLYk2zLvWFJIdYgutF8hjKdjGDaLJ477RNjkKufJg==","shasum":"06ced6905075f4108d4508fbee4da1aeac74f052","tarball":"https://registry.npmjs.org/@arfedulov/typeorm-jsonapi-serializer/-/typeorm-jsonapi-serializer-0.1.0.tgz","fileCount":72,"unpackedSize":96866,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdxOV3CRA9TVsSAnZWagAAurMQAJLTSY9V9uEG/hjBPiv1\n3/5DoY1BXlRMVNJpbDwwDe/GRiWHvG5HbMDCAjLCelUm3ksNy3XtMaxMMuJh\njtNwCWkwK5sfZeNkbnJBL8wUEXxFJpVgf47Wu+uWxAe2f+03B6rzlqa6yXh0\nr4Tn0QGD38ZY0nedpbUHI89jzdCFrMjQfAj8WwmSpYTdFUuldUOwt7MMqGhD\nrDN0DyX0rE0jiqJ+/s4KHH1S/WK5InQpGSDiVWO1t/aJ6shDK37pOLhCS5mm\npoH+C9cm7wjzwjq00BgC1mLYEgX1dx6lLmctPaDlIUCka92muDKJPvmVRrWP\n/TFxhJ9AT7JXUfb0hYbWDkeLL8/ysrIcvC7CnasDC0gahSJvECi69VHWyi61\nD9ar8MyedzzXA3oTUJ+hfttslc0MfKKfk67omYzV8QnJjGzVcGGLjTuyhKfZ\nZrSNYn1GqxuKBiwo7B+v8PrGO3XZcPukRIW3B4uiMfraIXK+/orBgKxMzcLQ\nUq2O2g/L03ixAdffucj2b+8MKvzSz86+jNnUroL7WbvafprvfS9Sftx+HDbF\nQ6OI1uwQXNjpzypNNv/UgZ8X56JfC7sM0WLL+VRS2E+wDWj6XwbVOgwECIoG\nub6/lXE9V8Me/hMQCvXDAnCzMGerASjy2sPY0IUQaO9msK5IWtAHhJOWwXj6\nOZKq\r\n=VloY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFExvlquwTmYwoHzaM0OYENuUlwDG3ksmo7CpclnlTuXAiEAt4TGtnmfPrhCUQEcJh5WaEK7LO1dUzQT8KLsJ8h6dg4="}]},"maintainers":[{"name":"arfedulov","email":"arfedulov@gmail.com"}],"_npmUser":{"name":"arfedulov","email":"arfedulov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typeorm-jsonapi-serializer_0.1.0_1573184887213_0.22367473589505926"},"_hasShrinkwrap":false},"0.2.0":{"name":"@arfedulov/typeorm-jsonapi-serializer","version":"0.2.0","main":"dist/index.js","author":{"name":"Artem Fedulov","email":"arfedulov@gmail.com"},"description":"Provides (de)serialization of jsonapi data for typeorm","license":"MIT","private":false,"repository":{"type":"git","url":"https://github.com/arfedulov/typeorm-jsonapi-serializer.git"},"bugs":{"url":"https://github.com/arfedulov/typeorm-jsonapi-serializer/issues","email":"arfedulov@gmail.com"},"dependencies":{"@types/jest":"^24","@types/lodash":"^4.14.144","@types/node":"^12","jsonapi-typescript":"^0.1.3","lodash":"^4.17.15","log4js":"^5.3.0","type-fest":"^0.8.1"},"peerDependencies":{"typeorm":"^0.2.20","reflect-metadata":"^0.1.13","typescript":"^3"},"devDependencies":{"tslint":"^5","ts-node":"^8","ts-jest":"^24","jest":"^24"},"scripts":{"test":"jest --passWithNoTests","check":"tsc --noEmit","prebuild":"rm -rf dist && yarn test","build":"npx tsc -p tsconfig.build.json --declaration","prepublish":"yarn run build"},"_id":"@arfedulov/typeorm-jsonapi-serializer@0.2.0","dist":{"shasum":"5de534202d664c1a9d318d36df52da8841fab883","integrity":"sha512-a/QH5nTjCsZFVdXGqH90gzJUOFwnW5yoJ/Uydp8aRmmeyoprm0QPBvfBIY7zV6b6Oi4yddQjd0Ny5elWMmXpSA==","tarball":"https://registry.npmjs.org/@arfedulov/typeorm-jsonapi-serializer/-/typeorm-jsonapi-serializer-0.2.0.tgz","fileCount":46,"unpackedSize":60595,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/ywlCRA9TVsSAnZWagAAvLwP/094eAnVUNAz0QYVI/FE\n20fNoe41ZfuK3rws6zJ5BujDRia4Pv7yEW8E8Yt52tO0BtGZpBNEfOboGYYh\nXWE3vyp91iFQBJ8vvBin5yRAezFYYfLhJbbF3JxM3m03u1/lVwkE47ujiBIF\naJfafO562OM+AnfOKWR/AZOnEnQ2M85znbzJkDfE49LoTJjnVMetD+mT650t\nG19ofegwoUsJPod9kvMO9cfxYBbG7jKRHsdTetJw+ad+b5y+CRU3jnr1nn7I\nI6Y1sdtYUJWCSqPP1xpLK8ijHZAmtQJccMWopV/p99Oq6bQghaZrFoDcAmxW\nida6VyI0tDwqHaoEJArVKTQ7FqgBL5TKt56H8ojpeYxHgg6tMUR3dycP+ux5\nI9zOkO0WNcKsXVeGUvC+2vRrLvwNl+myYk2zL2fono2Mp1Iab7ZmD9n0pKsb\nW5o/ZO21oGOez5x0VZI37z62O/K29NBYbA9n9tLDRcfbqdwqgXTZr54NI7wZ\nTk4sWPPDALa7YaN0ObyJEQ1rrt/o/TC6nAkRTp6e1z3e/GZEEB6iO00w2DaB\ngTJpUwmKrqNp/yRmJKVGT6/XC9NvfjJ13oRdtwTRhTQyXzMLhhwuo3U+G2N9\nq3jsI700ulgsiHsNOD+TrvcQzCVHAZd5yzZdkuel6FlD/3w2Oibf95Scq+3k\nlQKo\r\n=QQLo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLAXTvleNrAC2PsTp/LgUcPr5baWCFHTXnM4kUIGNs0wIhAPDDzo3P1F0kEbOIq7ZMYUyJqIViM86jeW1bnexeCxIo"}]},"maintainers":[{"name":"arfedulov","email":"arfedulov@gmail.com"}],"_npmUser":{"name":"arfedulov","email":"arfedulov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typeorm-jsonapi-serializer_0.2.0_1577004068578_0.11163908713628157"},"_hasShrinkwrap":false},"0.2.1":{"name":"@arfedulov/typeorm-jsonapi-serializer","version":"0.2.1","main":"dist/index.js","author":{"name":"Artem Fedulov","email":"arfedulov@gmail.com"},"description":"Provides (de)serialization of jsonapi data for typeorm","license":"MIT","private":false,"repository":{"type":"git","url":"git+https://github.com/arfedulov/typeorm-jsonapi-serializer.git"},"bugs":{"url":"https://github.com/arfedulov/typeorm-jsonapi-serializer/issues","email":"arfedulov@gmail.com"},"dependencies":{"@types/jest":"^24","@types/lodash":"^4.14.144","@types/node":"^12","jsonapi-typescript":"^0.1.3","lodash":"^4.17.15","log4js":"^5.3.0","type-fest":"^0.8.1"},"peerDependencies":{"typeorm":"^0.2.20","reflect-metadata":"^0.1.13","typescript":"^3"},"devDependencies":{"tslint":"^5","ts-node":"^8","ts-jest":"^24","jest":"^24"},"scripts":{"test":"jest --passWithNoTests","check":"tsc --noEmit","prebuild":"rm -rf dist && yarn test","build":"npx tsc -p tsconfig.build.json --declaration","prepublish":"yarn run build"},"gitHead":"7a4a2173806c2677184be85dd2e58c71c51eddde","homepage":"https://github.com/arfedulov/typeorm-jsonapi-serializer#readme","_id":"@arfedulov/typeorm-jsonapi-serializer@0.2.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-WUYS0qRlKAkpJq+9rz5RgcKRk3BqG+4G4t7aKmpj1pKmyewaNdwFgF5OIH/RzNtGj0KPS5Wdfpg1MBCxMO5x2w==","shasum":"54b4a5f8c53b79f7f0523d5393843bbf56a4b808","tarball":"https://registry.npmjs.org/@arfedulov/typeorm-jsonapi-serializer/-/typeorm-jsonapi-serializer-0.2.1.tgz","fileCount":81,"unpackedSize":108725,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd/y9wCRA9TVsSAnZWagAARLkP/An/0H2npSTJE7M2icxV\n6k7WA6lTH+N9zB9yk5+4WWQCugF3zAA/qPHHxXYmmgf7Ucn39h/gCFusqeeO\n/wPovzz/DZHEWIpg3x0ULhJ8wTp6ulHllaOWiipsnd+MKegJGqh5/ZaKBjSq\nuRCnqgNh8intOa63aEZ5TqcUKxtUC3CmVyc/UEJ8GS06ZtEANzV0AcYw7HVz\n0vT9elvNE/knQAhyRtSCI9gepnvbl9so9TQSEint3EnUuidHMNHjX0UaP4m8\nQ5Avz4zKrkXPidl0vjjnURkUAivn0Jvmndo4yRNSGcFQPvDBIb/x3sWq3Gm1\nt9W8N10trFvU5S8LEPJ6apubz1Q+UqgNF+Zp0kC2UR28Ewa/TgDSgdG+SIoW\n/qBsuneRtfCCMd7ecwIa957E++LKEEw23ZB/18V8AklO64zshE4DXqvEdw9g\nlu7wgOH+Pqo4tRj0FSaFEM1jzPUJh+J3thkYj10Z72SkaxPjHnttwkGYCOwU\n5LY2S6qpBgg+rjLLJ5oY2s5WaOMuvDbGGWeeFYhiPeOWv7qhqgYo51b0kmzd\nV57rnXBI0EnZPJ+aWUxiNaDgRzIkHHX6b9EKMyzABlR1pj/q8mi2DLf3Z0th\nEe5WO0zenoxAp2nre/mjX9S0/fqSV6yUCaU/GFY8YjOyx5HCfW82Bh+41dpk\nyeKf\r\n=g/BK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbN6FKwuUDQBf/w36OvitpRHn+KP3qbMC0QZ1nPytSvQIgUtpGl+3/5Lnmv5Ro/WnFzxKdj/0csDbYf/6BAvBJEBM="}]},"maintainers":[{"name":"arfedulov","email":"arfedulov@gmail.com"}],"_npmUser":{"name":"arfedulov","email":"arfedulov@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/typeorm-jsonapi-serializer_0.2.1_1577004911970_0.966177403886362"},"_hasShrinkwrap":false}},"time":{"created":"2019-11-08T03:48:06.991Z","0.1.0":"2019-11-08T03:48:07.380Z","modified":"2022-04-04T15:24:10.025Z","0.2.0":"2019-12-22T08:41:08.721Z","0.2.1":"2019-12-22T08:55:12.194Z"},"maintainers":[{"name":"arfedulov","email":"arfedulov@gmail.com"}],"description":"Provides (de)serialization of jsonapi data for typeorm","repository":{"type":"git","url":"git+https://github.com/arfedulov/typeorm-jsonapi-serializer.git"},"author":{"name":"Artem Fedulov","email":"arfedulov@gmail.com"},"bugs":{"url":"https://github.com/arfedulov/typeorm-jsonapi-serializer/issues","email":"arfedulov@gmail.com"},"license":"MIT","readme":"# typeorm-jsonapi-serializer\n\nProvides (de)serialization of jsonapi data for typeorm.\n\n:warning: Deserialization of many-to-many relationships implemented via\ntypeorm liking entity is not supported yet. You will get an error\nif you try to deserialize such relationships. Skip such relationsips\nusing `@Skip` decorator or use typeorm's `@ManyToMany` decorator ( many-to-many\nrelationships implemented with this decorator should be deserialized fine ).\n\n\n## Usage\n\n### serialization\n\n```ts\nimport { Serializable, Skip, Serializer } from '@arfedulov/typeorm-jsonapi-serializer';\n\n@Entity()\n@Serializable('zoos')\nclass Zoo {\n  @PrimaryGeneratedColumn()\n  id!: number;\n\n  @OneToMany((type) => Animal, (animal) => animal.zoo)\n  animals?: Promise<Animal[]>;\n}\n\n@Entity()\n@Serializable('animals')\nclass Animal {\n  @PrimaryGeneratedColumn()\n  id!: number;\n\n  @Column()\n  name!: string;\n\n  @Column()\n  @Skip\n  secretName!: string;\n\n  @ManyToOne((type) => Zoo, (zoo) => zoo.animals)\n  zoo!: Promise<Zoo>;\n}\n\nconst zoo = new Zoo();\nzoo.id = 0;\n\nconst animal = new Animal();\nanimal.id = 1;\nanimal.zoo = zoo;\nanimal.name = 'bear';\nanimal.secretName = '^(-.-)^';\n\nconst data = Serializer()(animal);\nconsole.log(data);\n/*\n{\n  \"id\": \"1\",\n  \"type\": \"animals\",\n  \"attributes\": {\n    \"name\": \"bear\"\n  },\n  \"relationships\": {\n    \"zoo\": {\n      \"data\": {\n        \"id\": \"0\",\n        \"type\": \"zoos\"\n      }\n    }\n  }\n}\n\n*/\n```\n\n### deserialization\n\n```ts\nimport { Deserializer } from '@arfedulov/typeorm-jsonapi-serializer';\nimport { Animal } from './entity/Animal';\nimport assert from 'assert';\n\nconst data = {\n  id: '1',\n  type: 'animals',\n  attributes: {\n    name: 'bear'\n  },\n  relationships: {\n    zoo: {\n      data: {\n        id: '0',\n        type: 'zoos'\n      }\n    }\n  }\n};\n\nconst EXPECT = new Animal();\nEXPECT.id = 1;\nEXPECT.name = 'bear';\nEXPECT.zoo = Promise.resolve(new Zoo(0/*id*/))\nconst animal = Deserializer()(data);\n\nassert.deepStrictEqual(animal, EXPECT);\n/* OK */\n\n```\n### deserializing relationships\n\nSee [Deserializer.test.ts](https://github.com/arfedulov/typeorm-jsonapi-serializer/blob/master/src/Deserializer/__tests__/Deserializer.test.ts) and [deserializeRelation.test.ts](https://github.com/arfedulov/typeorm-jsonapi-serializer/blob/master/src/Deserializer/__tests__/deserializeRelation.test.ts).\n","readmeFilename":"README.md","homepage":"https://github.com/arfedulov/typeorm-jsonapi-serializer#readme"}