{"_id":"@addapptables/cqrs","_rev":"5-ca42da970995707952b47ad2c200886d","name":"@addapptables/cqrs","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@addapptables/cqrs","version":"1.0.0","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/addapptables/cqrs.git"},"author":{"name":"dev@addapptables.com"},"license":"MIT","pre-commit":["precommit"],"scripts":{"build":"yarn lint && tsc","precommit":"yarn lint","lint":"tslint -p tsconfig.json -c tslint.json","test":"mocha --require ts-node/register test/**/**/*.spec.ts"},"dependencies":{"reflect-metadata":"0.1.12"},"devDependencies":{"@types/chai":"^4.1.6","@types/mocha":"5.2.5","backend-tslint-rules":"1.4.0","chai":"4.2.0","mocha":"5.2.0","pre-commit":"1.2.2","ts-node":"7.0.1","tslint":"5.11.0","typescript":"3.0.3"},"gitHead":"66068129f86e7975e80380dff63b79efb7908ea6","description":"","bugs":{"url":"https://github.com/addapptables/cqrs/issues"},"homepage":"https://github.com/addapptables/cqrs#readme","_id":"@addapptables/cqrs@1.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.9.4","_npmUser":{"name":"addapptable","email":"dev@addapptables.com"},"dist":{"integrity":"sha512-Eyl6HMYlhIi8eWnqa+dAE4iqT53zu/mkbtKrK1aD/nyFabAvaa9qLJHXTH2ERqYTvhhO3duk8jCvqgHY6Mo1mg==","shasum":"d6a977e85e67a50570cba4dca43814ccb54520d9","tarball":"https://registry.npmjs.org/@addapptables/cqrs/-/cqrs-1.0.0.tgz","fileCount":163,"unpackedSize":404130,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbsTQqCRA9TVsSAnZWagAAD3MP/A5Eyb6AqoXy61vJdOVJ\nXBvTXIe5aE09t7ZRpehh+IAyQNCTXvuvzX8fMUIm3Skv05bXFZzHWu95FEhL\nGBK5jHAmOUB9nYT8N3jvNy/C6F4sqTvVkqXMmNXwr7dA84ITl+FjfRjii5bR\nmjv2CnMrqYrBMRuOAH2PRkGme4BChv9T/xuCQ6y0VXOra6THdFPLq4qNag9p\nX3kXqMuLfLM5ngVjxARXOgDW8U0Z22BvMbfu/nWq8RJigFzXzPEJYWa2R9oB\nHSQKcIWOXtdKc/ydk3kRc2KbMRcw03D5XaZMkwa79/BWtcShw9FbB8IxO6Fd\nb0fNy44pZEZxBla2tNSpHVx8u1inyTM4s/MkAQb1hsOSpSUgvgBFj70WRe9T\nhvknuimx5OZbOCYFPN/1bn6VAilcE+EnmT24keBYu5TWaX48H6p9PF2iZ+eM\n4J1ot8QHB77/Fd6tKbWLjwFIYtlzy2tYNNPKfKw9LvF+21gcXPDs8s/fWhxx\nANPjvIieXMrJOk4OmONRQeO+/tcMr+g8E53e+xKoKUvckkn7mL0wL+y0LpTv\nN6939LrFebGOAyQYlFjQsPv4y0xkGvkmaMbm6yTR3xankOv56YLGgqSNhY/Q\nBzo7RbCHHhqWYkNA/0l3HFfBguiNykStovVWMOQkXejYCI1twE8Z10yoIh+I\n3UvE\r\n=CxnC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIG1GdaROp8ZYpr6CagJfpo/Bjzsk4gCQ6aRuB3cjWY8CAiArQXRX948oEkoMVofWRzvXLjKn6kA+kpBN06cfsixR5w=="}]},"maintainers":[{"name":"addapptable","email":"dev@addapptables.com"},{"name":"sebastian.delaroche","email":"sebastianroche17@gmail.com"},{"name":"teogl","email":"teito.lop@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cqrs_1.0.0_1538339882130_0.9505193123992908"},"_hasShrinkwrap":false},"2.0.0":{"name":"@addapptables/cqrs","version":"2.0.0","main":"dist/index.js","types":"dist/index.d.ts","repository":{"type":"git","url":"git+https://github.com/addapptables/cqrs.git"},"author":{"name":"dev@addapptables.com"},"license":"MIT","pre-commit":["precommit"],"scripts":{"build":"yarn lint && tsc","precommit":"yarn lint","lint":"tslint -p tsconfig.json -c tslint.json","test":"mocha --require ts-node/register test/**/*.ts"},"dependencies":{"reflect-metadata":"0.1.12"},"devDependencies":{"@types/mocha":"5.2.5","backend-tslint-rules":"1.4.0","mocha":"5.2.0","pre-commit":"1.2.2","ts-node":"7.0.1","tslint":"5.11.0","typescript":"3.0.3"},"gitHead":"c0f1c23e49c667dde8d927b599e5da4a46e530b6","description":"- cqrs is a library for nodejs oriented to microservices,\r this library is made to work with [nestjs](https://docs.nestjs.com/)","bugs":{"url":"https://github.com/addapptables/cqrs/issues"},"homepage":"https://github.com/addapptables/cqrs#readme","_id":"@addapptables/cqrs@2.0.0","_npmVersion":"5.6.0","_nodeVersion":"8.11.4","_npmUser":{"name":"teogl","email":"teito.lop@gmail.com"},"dist":{"integrity":"sha512-qNEQpIyjwM8D8EG9BTQqfWfFYRIJIzOCg8umLp1OLzLY85luUIekfLVAANugYELWxN66q3TOWNDfmRHEyvWVnA==","shasum":"7e1fbe4484b43a384df07b2d4c15ad1dd29d587d","tarball":"https://registry.npmjs.org/@addapptables/cqrs/-/cqrs-2.0.0.tgz","fileCount":80,"unpackedSize":40321,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcp8+GCRA9TVsSAnZWagAA2ssP/jeLbkqe1bZSPeIy1pTU\nlxkXegsU2SdO06fhwXo3C6Dj0uDwg7pTHNK9XVLw+iqqLSpfqJFtzjTI73xO\nPsLVNyHze/JDKDlagvXrc/HB/QI8JXD8QxNwYuG6mP7aumnrY1sYvyPRimju\nnno3LmEZ6ORHgNYcfcG+kl2aA5bMIT0Hh6qqiQZANK4nkPnOA8xe6fZUgebm\nLaQD5hyYj/nPYcdPW6R5eXWibn8SOl4X7yIRYiwDbtNWNxHzlIUudTbDcMBf\nylZIP6BRGh11v9S9LYg6gHULW+t1f4J5FfvN8t8joFX3drw3aQvbgQGPppUI\niKUUSfgTGO+AixGtuXzLuyz4O6LlUtkVDsD+2ewEu7VXnXbSxfnS8A5QM239\nFTDhnO79AffDFfvz8X5BqD+pvNOPzblJBwmPCNfXc6f8BRjrdIIYStrLyJfC\nsIsnuLZCME7cLNu5cJQBPbaJMpYIhs+4Z3OwDm3gAO9NuEGeSxHfj3FY7oKO\n8jCno7+IP3L41lE+u+J17fs5W1GUIq/QR267JcarOoVcMkKgcvO54zyJ2ZuX\nHut97vFuYf51mE612MxyT15FgmVETM20WdugzvFWbYo9vF5sCz3cselD40qS\nWvXd8vDA/DJd901PZuRqr/c/87zD3nLrWRbwuPPdYxecq8Y77FbKt8sqnudF\nR94e\r\n=O2/m\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIElW/H9LRmsrMxich1TjJZz0LSEHEfiK/Frp2bL+M8T4AiBdcZDclLHYPfpiN551n7sGGmY+gYb3aIkVryD5gnfdsg=="}]},"maintainers":[{"name":"addapptable","email":"dev@addapptables.com"},{"name":"sebastian.delaroche","email":"sebastianroche17@gmail.com"},{"name":"teogl","email":"teito.lop@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/cqrs_2.0.0_1554501509949_0.32993872499714527"},"_hasShrinkwrap":false}},"time":{"created":"2018-09-30T20:38:01.968Z","1.0.0":"2018-09-30T20:38:02.295Z","modified":"2022-04-04T11:27:42.805Z","2.0.0":"2019-04-05T21:58:30.133Z"},"maintainers":[{"email":"teito.lop@gmail.com","name":"teogl"}],"homepage":"https://github.com/addapptables/cqrs#readme","repository":{"type":"git","url":"git+https://github.com/addapptables/cqrs.git"},"author":{"name":"dev@addapptables.com"},"bugs":{"url":"https://github.com/addapptables/cqrs/issues"},"license":"MIT","readme":"# cqrs\r\n\r\n- cqrs is a library for nodejs oriented to microservices,\r\nthis library is made to work with [nestjs](https://docs.nestjs.com/)\r\n\r\n- [Example code](https://github.com/addapptables/example-service)\r\n\r\n## Getting Started\r\nTo get started, let's install the package through npm:\r\n\r\n```\r\nnpm i @addapptables/cqrs --S\r\n```\r\n\r\n## How to use\r\n\r\n- Create commands\r\n```typescript\r\nimport { Command } from '@addapptables/cqrs';\r\n\r\nexport class ClassCommandModel implements ICommandDto, IEventDto {\r\n    id: string;\r\n}\r\n\r\nexport class CreateUserCommand extends Command<ClassCommandModel> {\r\n    public readonly action = 'action';\r\n    public readonly context = 'context';\r\n\r\n    constructor(public readonly data: ClassCommandModel) { super(data); }\r\n}\r\n```\r\n\r\n- Create command handlers\r\n```typescript\r\nimport { ICommandHandler, CommandHandler, ICommand } from '@addapptables/cqrs';\r\n\r\n@CommandHandler({ context: 'context', action: 'action' })\r\nexport class CommandHandler implements ICommandHandler<ClassCommandModel> {\r\n\r\n    handle = async (command: ICommand<ClassCommandModel>): Promise<void> => {\r\n        // Save in event store\r\n    }\r\n\r\n}\r\n```\r\n\r\n- Create event handlers\r\n```typescript\r\nimport { IEventHandler, IEvent, EventHandler } from '@addapptables/cqrs';\r\n\r\n@EventHandler({ context: 'context', action: 'action' })\r\nexport class ActionHandler implements IEventHandler<YourActionEvent> {\r\n\r\n    handle = async ({ data }: IEvent<YourActionEvent>): Promise<void> => {\r\n        try {\r\n            console.log(data);\r\n        } catch (error) {\r\n            console.log('error', error);\r\n        }\r\n    }\r\n\r\n}\r\n```\r\n\r\n\r\n","readmeFilename":"README.md","description":"- cqrs is a library for nodejs oriented to microservices,\r this library is made to work with [nestjs](https://docs.nestjs.com/)"}