{"_id":"@asemin/nestjs-utils","_rev":"30-dc7efde7e5f4e8ed71b5d5bb5b0aa566","name":"@asemin/nestjs-utils","dist-tags":{"undefined":"3.0.5","latest":"4.0.2"},"versions":{"2.0.0":{"name":"@asemin/nestjs-utils","version":"2.0.0","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs-modules/mailer":"^1.6.1","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","fastify":"^3.27.0","mongoose":"^6.3.1"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"0098fd3a107d66603cd19eabe25a8c2a6fe34128","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@2.0.0","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-fJ98T+2psU5F+sc4x7oCVlWjYwfLOXUWTKAsd1TObtYhaxozoul3eUs4+mnAti/Dd7QEcqcPJInYkb0vCtBtrQ==","shasum":"1eb949e123629a84c65de4ae383baa8b0eaef2b3","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-2.0.0.tgz","fileCount":124,"unpackedSize":100973,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC1Z7iQlqtvGgA7cImK6SweRU5KopTfiHQk8xKCeQtq6AiBb0+1HcNTfXPcE1tp6hc7u2UoaTye2xeetpeF9A/55Fg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ/UhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo4lQ//X7wsoWgz9icufKsl+xSkZpiD8Tqyb+sV7jYzep83w4kCe/Ht\r\nVFNumreNqTSPvabhcKUz74Cg2danQjAs/ugJVgs1yRrddMGEkLO2C56inHcg\r\nWi7xqY8hmM2c/2to+KYWEwKney9+mXnjaMldnC4y6cDljdu+IgxiOVPdjmPB\r\nyEjyJotRSmIq53txC4HYp/LwxRjpLDzIQiRdqrxxUSaWJfkZxwlKVJBaxifQ\r\nz28sxBOuSWW/nIYC/n1nhuz+TerzkNzUcjCbU6WCkIlxakRZ9QrE/VQwdt5O\r\nttZsqRCwm5Gbpf1RIzZ6LKJUM3Y+3hqg49f3YmbZEGvvSPsSLGC3aA467DEG\r\nbsMeUQeaq+G59pqaDkd/KhlQLV38KTzo0H32MHzkKgmlyYGmxd2BFWPmiuZM\r\nsMe7L6HgDEgXuAXqOMdNp2c1s+Upbzf1KV60/CHZ9Tqjtwn4f+oue15WOGlA\r\n/KRec+zypOiIWC44vPa66mGjtoTyjEqB/+OkS8japz9kDLMXg4LSz31xBzk7\r\nNG3c3nB6NZ/BqGO2jAKjvYVJdcnrIbNC7ZQ3Jo8X8Kx2yEGR+XBXaOtwWq9U\r\nexBW7zUpclrwz1Gyb7+4tqFk6takzkTs/N2uBI5VvWDFFDhN07eb7aCwH3j/\r\nUacpMyaXl3k8UYwqEUOInqRZAuu7tRcAK9A=\r\n=CQTE\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_2.0.0_1650980129308_0.6573867007872534"},"_hasShrinkwrap":false},"2.0.1":{"name":"@asemin/nestjs-utils","version":"2.0.1","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs-modules/mailer":"^1.6.1","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","fastify":"^3.27.0","mongoose":"^6.3.1"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","readme":"<p align=\"center\">\r\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r\n</p>\r\n\r\n[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456\r\n[circleci-url]: https://circleci.com/gh/nestjs/nest\r\n\r\n  <p align=\"center\">A progressive <a href=\"http://nodejs.org\" target=\"_blank\">Node.js</a> framework for building efficient and scalable server-side applications.</p>\r\n    <p align=\"center\">\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/@nestjs/core.svg\" alt=\"NPM Version\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/l/@nestjs/core.svg\" alt=\"Package License\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/@nestjs/common.svg\" alt=\"NPM Downloads\" /></a>\r\n<a href=\"https://circleci.com/gh/nestjs/nest\" target=\"_blank\"><img src=\"https://img.shields.io/circleci/build/github/nestjs/nest/master\" alt=\"CircleCI\" /></a>\r\n<a href=\"https://coveralls.io/github/nestjs/nest?branch=master\" target=\"_blank\"><img src=\"https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9\" alt=\"Coverage\" /></a>\r\n<a href=\"https://discord.gg/G7Qnnhy\" target=\"_blank\"><img src=\"https://img.shields.io/badge/discord-online-brightgreen.svg\" alt=\"Discord\"/></a>\r\n<a href=\"https://opencollective.com/nest#backer\" target=\"_blank\"><img src=\"https://opencollective.com/nest/backers/badge.svg\" alt=\"Backers on Open Collective\" /></a>\r\n<a href=\"https://opencollective.com/nest#sponsor\" target=\"_blank\"><img src=\"https://opencollective.com/nest/sponsors/badge.svg\" alt=\"Sponsors on Open Collective\" /></a>\r\n  <a href=\"https://paypal.me/kamilmysliwiec\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Donate-PayPal-ff3f59.svg\"/></a>\r\n    <a href=\"https://opencollective.com/nest#sponsor\"  target=\"_blank\"><img src=\"https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg\" alt=\"Support us\"></a>\r\n  <a href=\"https://twitter.com/nestframework\" target=\"_blank\"><img src=\"https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow\"></a>\r\n</p>\r\n  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)\r\n  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->\r\n\r\n## Description\r\n\r\nNestjs Exception handling implementation.\r\nIncludes: \r\n    * Handler's chain mechanism\r\n    * Custom exception to inherit from\r\n    * Implemented Nest JS Validation Exception handler\r\n\r\nException structure: \r\n```\r\n    {\r\n        code: \"ERROR:<ENTITY>-<CODE_MESSAGE>\"\r\n        status: 500,\r\n        title: \"Error!\",\r\n        message: 'This was screwed',\r\n        body: { any info you like }\r\n    }\r\n```\r\n\r\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.\r\n\r\n## Use\r\n\r\n# installation\r\n```bash\r\n$ npm install @asemin/nestjs-exception-handling\r\n```\r\n\r\n# Handler creation example\r\nClass must extend ExceptionHandler and implement `handle` method. Method must return HandlerExceptionDto filled.\r\n```\r\nexport class MongoExceptionHandler extends ExceptionHandler{\r\n    handle(exception: any): HandledExceptionDto {\r\n        if ( !(exception instanceof MongoError) )\r\n            return this.next?.handle(exception);\r\n\r\n        switch (exception.code) {\r\n            case 11000:\r\n                return new HandledExceptionDto(getException(API_ERROR_CODES.DATABASE.DUPLICATE));\r\n        }\r\n\r\n        return null;\r\n    }\r\n}\r\n```\r\n\r\n# handlers chain creation\r\nEach member must extend ExceptionHandler\r\n```\r\nexport const handlersChain = [\r\n    new MongoExceptionHandler(),\r\n    new ValidationExceptionHandler(),\r\n    new CustomExceptionHandler(),\r\n    new HttpExceptionHandler()\r\n];\r\n```\r\n\r\n# Nestjs exception filter configuration. main.ts:\r\n```bash\r\n    const exceptionFilter = new ExceptionFilter(\r\n        <ExceptionHandler>createExceptionHandlersChain(handlersChain)\r\n    );\r\n\r\n    app.useGlobalFilters(exceptionFilter);\r\n```\r\n\r\n## Custom exception use\r\n\r\n# throwException\r\nUse one of the codes. Fill free to put any information to body (second param)\r\nIf there are no code suitable - throw any exception type manually.\r\n```\r\nthrowException(API_ERROR_CODES.COMMON.EMPTY_PARAM, {method: 'getByPermissionAndPermissionSets', fields: {permissionId, permissionSetIds}})\r\n```\r\n\r\n# getException info\r\n```\r\nconst {code, status, message} = getException(API_ERROR_CODES.COMMON.UNKNOWN);\r\n```","readmeFilename":"README.md","gitHead":"0098fd3a107d66603cd19eabe25a8c2a6fe34128","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@2.0.1","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-0jeW4oGR6BGt50tX1uX9KwaEGS/FiqOBM9jWfUk5gI9FKxbPKTiYED7OftQ7fDQn25J0kYr7nnNc36H7vY8pFQ==","shasum":"11034c40dc0b0d23c7bc42e7d7dc9204296e2782","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-2.0.1.tgz","fileCount":125,"unpackedSize":101506,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHsC06etd6yOPz9jHdBMtqjcIExaXgrU5UnpXYt5aUrkAiEAhN6TkQ/zyCCSZqja4ECS26SQyrVCr01iwMF/ho+o6G4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiZ/o6ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpQkA//VaU6OBqCH1tz7hdmk/yKQhgXljHBNk9QIZZkk/YdUtJTe1al\r\nPlchWUR9jRXNKNqbbeY5gonpTP3UKN5ngaj8pqf6ETd6jcJ1muwrRJw3LnY8\r\nBhTvXGpnzz75h7vgxnDNooimD3czsbOcnW+mjei+Nj4W3sZMbNI7M9wDFylv\r\nua84InUk+fcZyQEcVjGiiFpYARsWj0cjiKBpSYUpUdsLOaOu5g9WTMfzsK/C\r\nWFkqyoe3brhqKu5Tc5v299HYO5bEp1U1m7+oTFRL28wWvuOZuo3sNdsaBq2W\r\n5M3rvs7eSGJ2td44mjyNGtL7RGV1Cpx2kloPwYkJq/FbV3AShvEunuo4N2Pl\r\nFvMVezDdUiJ4UneLUVLUgvcWX7G0UG32WfRw4VcIdAIWh1k+WIrtFoy7Je36\r\nEFQeC+OwgL932B0vI3ijNHJ1fmEjik1CH/Fta+d38cSWOLRiq11jgCQhUL85\r\nf4ykjcNyRL1t2ezotT1AAoovN1CDLPipwp1QascW18avZv1EeroltqwwwGaq\r\nz3Q+tRaUNfA04+M+JJ+8Miu3KrqEplaXVMuW7lqs6bfsd3zp999R0snTuTeN\r\nbhtBaWybLMZcWvKisilSN4P+uZhM7EDXDNqrB6VnyNa2VItPC6/vWsQi7GT1\r\nbcuBvAqGo3COGoR6NTY9XH4zCPbxKmzmufE=\r\n=Vkse\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_2.0.1_1650981434647_0.4157181612732641"},"_hasShrinkwrap":false},"3.0.0":{"name":"@asemin/nestjs-utils","version":"3.0.0","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"6a0004442924dcab86234e4a66fc0ee06ade5c63","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.0","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-lH3dkxyCk2qwK4wOUtkaTQDwiS3hzIG0dYCJGgDyxxvfUrBAM6ni2+Gv7tjbhKAh9hLLu80nkXUK1Mv6E9oCqQ==","shasum":"4fdbf87612946ed835f5568d79ea9efca2dc822b","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.0.tgz","fileCount":177,"unpackedSize":132790,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIA+uA27zlRcRHuFLWypVK+8AJBEnqDxXwuNSvum4Vei0AiAtxgw8lmpxhy6mg7fN+m8NydyDyq5fnmB5pGljRR2WCA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiaPmoACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrJhQ/+ORi8/UuZWzgBX4uAAyHrFhojEEP3WnCpCHuKPFfzTXjMd4mN\r\ntn0Pcvz2K6L3HoI/11fdzDInsZBnTr0W2JCnq2AiV73J4EWAn/+e0wTrkLVg\r\n5SnaprBlvx+6d/5lUmshr5WXY5zlrG3JqE9ONMpWJuTg7qSDOKhK3mxs/TnS\r\n0e+27XeRKtUxhs1nX+QswquA+Xhru2tMSlyDuMIvl6gB/NxDs4OHNsB1T38R\r\n/ipMW1pvaytBHUkP8VbmSFjHR7+fpnGduLDYiQd5tJiJ4VoYu/P3Pq/kfDvd\r\nRulaQLRYQ4WdmQnLdouTN4qxLR0oLvnNL8atNMWo+Q+Av3E9ZILawC1qbZnl\r\nLNDzNtQR0CsUfLjJaoOMe+YS+URWvHpP+/Ifqb9ETcYoFVhfLK9Q/r7vqT5j\r\nykRXBcjt7tdU13Aq8QFvQvTKvqx37v75CElGQT6jTw02cdsQutpAgyidP+aU\r\nA57yU0ALsaPFZICQjpMMRlqLDl8VYRl6V28bDEN1pgmsA4YQBZunO8o7UYTN\r\nrYHjH9xOkRNGwjeoyWsEwz/nF3eFNLCwU3BAoW1EXIyrQLVzLEnhnREmADQn\r\nwZrku5LEVmrLHWdPpfMxW1XYO6yEPleqxPeBwy86VHAUEodDvgL1gyjsAEH4\r\nnL44N7MBAw0GsLXtlKrVgUu3RXhVLu8H+Eg=\r\n=xM9y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.0_1651046823936_0.13559901708729782"},"_hasShrinkwrap":false},"3.0.1":{"name":"@asemin/nestjs-utils","version":"3.0.1","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","readme":"<p align=\"center\">\r\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r\n</p>\r\n\r\n[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456\r\n[circleci-url]: https://circleci.com/gh/nestjs/nest\r\n\r\n  <p align=\"center\">A progressive <a href=\"http://nodejs.org\" target=\"_blank\">Node.js</a> framework for building efficient and scalable server-side applications.</p>\r\n    <p align=\"center\">\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/@nestjs/core.svg\" alt=\"NPM Version\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/l/@nestjs/core.svg\" alt=\"Package License\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/@nestjs/common.svg\" alt=\"NPM Downloads\" /></a>\r\n<a href=\"https://circleci.com/gh/nestjs/nest\" target=\"_blank\"><img src=\"https://img.shields.io/circleci/build/github/nestjs/nest/master\" alt=\"CircleCI\" /></a>\r\n<a href=\"https://coveralls.io/github/nestjs/nest?branch=master\" target=\"_blank\"><img src=\"https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9\" alt=\"Coverage\" /></a>\r\n<a href=\"https://discord.gg/G7Qnnhy\" target=\"_blank\"><img src=\"https://img.shields.io/badge/discord-online-brightgreen.svg\" alt=\"Discord\"/></a>\r\n<a href=\"https://opencollective.com/nest#backer\" target=\"_blank\"><img src=\"https://opencollective.com/nest/backers/badge.svg\" alt=\"Backers on Open Collective\" /></a>\r\n<a href=\"https://opencollective.com/nest#sponsor\" target=\"_blank\"><img src=\"https://opencollective.com/nest/sponsors/badge.svg\" alt=\"Sponsors on Open Collective\" /></a>\r\n  <a href=\"https://paypal.me/kamilmysliwiec\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Donate-PayPal-ff3f59.svg\"/></a>\r\n    <a href=\"https://opencollective.com/nest#sponsor\"  target=\"_blank\"><img src=\"https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg\" alt=\"Support us\"></a>\r\n  <a href=\"https://twitter.com/nestframework\" target=\"_blank\"><img src=\"https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow\"></a>\r\n</p>\r\n  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)\r\n  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->\r\n\r\n## Description\r\n\r\nNestjs Exception handling implementation.\r\nIncludes: \r\n    * Handler's chain mechanism\r\n    * Custom exception to inherit from\r\n    * Implemented Nest JS Validation Exception handler\r\n\r\nException structure: \r\n```\r\n    {\r\n        code: \"ERROR:<ENTITY>-<CODE_MESSAGE>\"\r\n        status: 500,\r\n        title: \"Error!\",\r\n        message: 'This was screwed',\r\n        body: { any info you like }\r\n    }\r\n```\r\n\r\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.\r\n\r\n## Use\r\n\r\n# installation\r\n```bash\r\n$ npm install @asemin/nestjs-exception-handling\r\n```\r\n\r\n# Handler creation example\r\nClass must extend ExceptionHandler and implement `handle` method. Method must return HandlerExceptionDto filled.\r\n```\r\nexport class MongoExceptionHandler extends ExceptionHandler{\r\n    handle(exception: any): HandledExceptionDto {\r\n        if ( !(exception instanceof MongoError) )\r\n            return this.next?.handle(exception);\r\n\r\n        switch (exception.code) {\r\n            case 11000:\r\n                return new HandledExceptionDto(getException(API_ERROR_CODES.DATABASE.DUPLICATE));\r\n        }\r\n\r\n        return null;\r\n    }\r\n}\r\n```\r\n\r\n# handlers chain creation\r\nEach member must extend ExceptionHandler\r\n```\r\nexport const handlersChain = [\r\n    new MongoExceptionHandler(),\r\n    new ValidationExceptionHandler(),\r\n    new CustomExceptionHandler(),\r\n    new HttpExceptionHandler()\r\n];\r\n```\r\n\r\n# Nestjs exception filter configuration. main.ts:\r\n```bash\r\n    const exceptionFilter = new ExceptionFilter(\r\n        <ExceptionHandler>createExceptionHandlersChain(handlersChain)\r\n    );\r\n\r\n    app.useGlobalFilters(exceptionFilter);\r\n```\r\n\r\n## Custom exception use\r\n\r\n# throwException\r\nUse one of the codes. Fill free to put any information to body (second param)\r\nIf there are no code suitable - throw any exception type manually.\r\n```\r\nthrowException(API_ERROR_CODES.COMMON.EMPTY_PARAM, {method: 'getByPermissionAndPermissionSets', fields: {permissionId, permissionSetIds}})\r\n```\r\n\r\n# getException info\r\n```\r\nconst {code, status, message} = getException(API_ERROR_CODES.COMMON.UNKNOWN);\r\n```","readmeFilename":"README.md","gitHead":"d12ed82781a6119e95476eee9606c831941b894a","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.1","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-I4SUjNbqy3xzoLXbnI6fMfb+6JC6i9FSaCkOD5rb8aki20ZkBo2rmCrLFW/0aoqIyzjJiw7qRr1X+shc6xBftg==","shasum":"56e3540115e6e44aa192bb7ee14f301b16e06954","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.1.tgz","fileCount":177,"unpackedSize":133531,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD3AzethBlQD10yiDGmbKyYorqsA2G1eGMXy0/4XVwJiAIgMEpf9vmqrVgKQbA0KkJAqj/iE8Za939ybGvGbQj1J64="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia+AVACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmphaw/+LWtaUGRpzLZyzeuj5uTLKq+yO+g5m6gVlC3N+/IDQfwkG/Hc\r\nMSNkQNeKNJHIu9TRpEm1lSvpDnxMKilD1JZuZV6cDaX02GA/JYHS1MQ4xFTG\r\n01QJkoCYL0kAj/ymuzUW+tl1SkADJxtWmiJscP+RshELCUYwRNEw8VSxKXb/\r\nTtkn9Bs63uZFb6ZLUukNkD+/XVN0SV72vzNpvhV6tOzgwXcT6SZ9bSLhmAns\r\n2lAnZU8JNdkL8MuqeMwlBXL862cVE5KoXpflINNzbWzCwsYaDhUr/sxILbtM\r\nDwOJNJLNoVdI8ebYIP7tqcp33UcOrig3hhGSDQ88XGs1LFhNCDT2BP4TBEdA\r\nvwyk3mR5VE+24qmticTIZOoOr/c/peG6jj9sbYXWrzfiFtc+KSLDWAQ37O3M\r\nHYSrSWsPnJpdyWoyPSvbbKer+5W35yTYY5lDJ5NSid3T0W41FEdruml+Qqmh\r\nbAKPfvjZAk76mnwHBkQm6X8yL04Xd6/MmytJVIK0kfejaIdA5F+y6L2JPibk\r\nZ3rydg1zgXRxK577Xju4lyNEc07cMsKV3Vmed2BaTHelHLfIwSo0kTG2mNxk\r\nNWQDFW58ZMgEmdn8E9eb6pTa1koov00g8PVsw3gNmo7dXgI5fnGGVmO1tHhC\r\nJ52NtnHVyHcmYSl+EwhqM4Tu01E+a4WAdg0=\r\n=qc9P\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.1_1651236885713_0.8242593315689051"},"_hasShrinkwrap":false},"3.0.2":{"name":"@asemin/nestjs-utils","version":"3.0.2","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","readme":"<p align=\"center\">\r\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r\n</p>\r\n\r\n[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456\r\n[circleci-url]: https://circleci.com/gh/nestjs/nest\r\n\r\n  <p align=\"center\">A progressive <a href=\"http://nodejs.org\" target=\"_blank\">Node.js</a> framework for building efficient and scalable server-side applications.</p>\r\n    <p align=\"center\">\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/@nestjs/core.svg\" alt=\"NPM Version\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/l/@nestjs/core.svg\" alt=\"Package License\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/@nestjs/common.svg\" alt=\"NPM Downloads\" /></a>\r\n<a href=\"https://circleci.com/gh/nestjs/nest\" target=\"_blank\"><img src=\"https://img.shields.io/circleci/build/github/nestjs/nest/master\" alt=\"CircleCI\" /></a>\r\n<a href=\"https://coveralls.io/github/nestjs/nest?branch=master\" target=\"_blank\"><img src=\"https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9\" alt=\"Coverage\" /></a>\r\n<a href=\"https://discord.gg/G7Qnnhy\" target=\"_blank\"><img src=\"https://img.shields.io/badge/discord-online-brightgreen.svg\" alt=\"Discord\"/></a>\r\n<a href=\"https://opencollective.com/nest#backer\" target=\"_blank\"><img src=\"https://opencollective.com/nest/backers/badge.svg\" alt=\"Backers on Open Collective\" /></a>\r\n<a href=\"https://opencollective.com/nest#sponsor\" target=\"_blank\"><img src=\"https://opencollective.com/nest/sponsors/badge.svg\" alt=\"Sponsors on Open Collective\" /></a>\r\n  <a href=\"https://paypal.me/kamilmysliwiec\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Donate-PayPal-ff3f59.svg\"/></a>\r\n    <a href=\"https://opencollective.com/nest#sponsor\"  target=\"_blank\"><img src=\"https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg\" alt=\"Support us\"></a>\r\n  <a href=\"https://twitter.com/nestframework\" target=\"_blank\"><img src=\"https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow\"></a>\r\n</p>\r\n  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)\r\n  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->\r\n\r\n## Description\r\n\r\nNestjs Exception handling implementation.\r\nIncludes: \r\n    * Handler's chain mechanism\r\n    * Custom exception to inherit from\r\n    * Implemented Nest JS Validation Exception handler\r\n\r\nException structure: \r\n```\r\n    {\r\n        code: \"ERROR:<ENTITY>-<CODE_MESSAGE>\"\r\n        status: 500,\r\n        title: \"Error!\",\r\n        message: 'This was screwed',\r\n        body: { any info you like }\r\n    }\r\n```\r\n\r\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.\r\n\r\n## Use\r\n\r\n# installation\r\n```bash\r\n$ npm install @asemin/nestjs-exception-handling\r\n```\r\n\r\n# Handler creation example\r\nClass must extend ExceptionHandler and implement `handle` method. Method must return HandlerExceptionDto filled.\r\n```\r\nexport class MongoExceptionHandler extends ExceptionHandler{\r\n    handle(exception: any): HandledExceptionDto {\r\n        if ( !(exception instanceof MongoError) )\r\n            return this.next?.handle(exception);\r\n\r\n        switch (exception.code) {\r\n            case 11000:\r\n                return new HandledExceptionDto(getException(API_ERROR_CODES.DATABASE.DUPLICATE));\r\n        }\r\n\r\n        return null;\r\n    }\r\n}\r\n```\r\n\r\n# handlers chain creation\r\nEach member must extend ExceptionHandler\r\n```\r\nexport const handlersChain = [\r\n    new MongoExceptionHandler(),\r\n    new ValidationExceptionHandler(),\r\n    new CustomExceptionHandler(),\r\n    new HttpExceptionHandler()\r\n];\r\n```\r\n\r\n# Nestjs exception filter configuration. main.ts:\r\n```bash\r\n    const exceptionFilter = new ExceptionFilter(\r\n        <ExceptionHandler>createExceptionHandlersChain(handlersChain)\r\n    );\r\n\r\n    app.useGlobalFilters(exceptionFilter);\r\n```\r\n\r\n## Custom exception use\r\n\r\n# throwException\r\nUse one of the codes. Fill free to put any information to body (second param)\r\nIf there are no code suitable - throw any exception type manually.\r\n```\r\nthrowException(API_ERROR_CODES.COMMON.EMPTY_PARAM, {method: 'getByPermissionAndPermissionSets', fields: {permissionId, permissionSetIds}})\r\n```\r\n\r\n# getException info\r\n```\r\nconst {code, status, message} = getException(API_ERROR_CODES.COMMON.UNKNOWN);\r\n```","readmeFilename":"README.md","gitHead":"d12ed82781a6119e95476eee9606c831941b894a","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.2","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-Nwgbzf8iMNC2Igd1R5sBhxzTA/JN5cfxiqrMeFIWC99f+E5IMvOBNF8CP+a+xf2Z2xX258FKMmE6L6c7HAzN5A==","shasum":"8927419fd7c3c26a34503a602ad93967e567f410","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.2.tgz","fileCount":177,"unpackedSize":133881,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDqPbCaLfB9yK9Ev7fS+1arMkJkq00i+2D0BuFxHyAhGQIhAK9NmRqDHaalZVvJJBq5GwuutGTF9MSYjaORWIQTxEtF"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJia/fEACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq89w//VC07/ECJtp++MLsZ3vCM3NdaYKHndis4qa4m+PeR6Cr3PB57\r\nc7Xqv2hMCKUfD3JLer8PbYLlVH/5MUD9avEPWJ352X01eV5vqiHJkoujctCt\r\nRyQOjH92rO9myrdlAPwa/cUWcLc8N6V3XEli1xUGwOMzmz78pAqORmGPpd9e\r\nPUGQpxhe8290b2OqxTGpycrPHzMLhRXjU8fJbAa/EOEnBr32M7OHcecu5ITO\r\nk/Iuw0GEvRofu+VEnikhc7lSW6fXTeiA7ETtnC3wtlYWXwP/WrxCUct+FC+3\r\nCIQnUIY16g7jz+PzZgP5+6PDkk6rxrWQN5LjuXQek++9LuVHHZv9gG5jCMIK\r\nd604gRpgMh1/Q5V4YYipd38tntmjWu4FlFLNgLsksOqu8YJ7miDxAG/aYkQL\r\nMA1tuQRm1kyE5mnnXVsZwhnqZSnqY2bY6YZumGHGosFAuseaX3CCr+loUm4x\r\nfcr6EDq5XE3hwcgVvtRyhVlYyuNYy6X/FAAcit8DgdcMgIfwBW6s0MU6wrJW\r\naa8PKiH7Y5Y5Bz0vLaajwMfp+7r0HBD6CH5HusjvftBbKxeammxo1EjUqGfR\r\nDf41YcP24TFFsj8l0ulqM0CyutpN/lkpzjyF/mAO2LCYoI+bITsNhcnhdv28\r\n4la1C8+RndYOAU80DwmmYHEaX2ZqOSTdH6E=\r\n=BudW\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.2_1651242948036_0.08740137666899339"},"_hasShrinkwrap":false},"3.0.3":{"name":"@asemin/nestjs-utils","version":"3.0.3","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","readme":"<p align=\"center\">\r\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r\n</p>\r\n\r\n[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456\r\n[circleci-url]: https://circleci.com/gh/nestjs/nest\r\n\r\n  <p align=\"center\">A progressive <a href=\"http://nodejs.org\" target=\"_blank\">Node.js</a> framework for building efficient and scalable server-side applications.</p>\r\n    <p align=\"center\">\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/@nestjs/core.svg\" alt=\"NPM Version\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/l/@nestjs/core.svg\" alt=\"Package License\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/@nestjs/common.svg\" alt=\"NPM Downloads\" /></a>\r\n<a href=\"https://circleci.com/gh/nestjs/nest\" target=\"_blank\"><img src=\"https://img.shields.io/circleci/build/github/nestjs/nest/master\" alt=\"CircleCI\" /></a>\r\n<a href=\"https://coveralls.io/github/nestjs/nest?branch=master\" target=\"_blank\"><img src=\"https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9\" alt=\"Coverage\" /></a>\r\n<a href=\"https://discord.gg/G7Qnnhy\" target=\"_blank\"><img src=\"https://img.shields.io/badge/discord-online-brightgreen.svg\" alt=\"Discord\"/></a>\r\n<a href=\"https://opencollective.com/nest#backer\" target=\"_blank\"><img src=\"https://opencollective.com/nest/backers/badge.svg\" alt=\"Backers on Open Collective\" /></a>\r\n<a href=\"https://opencollective.com/nest#sponsor\" target=\"_blank\"><img src=\"https://opencollective.com/nest/sponsors/badge.svg\" alt=\"Sponsors on Open Collective\" /></a>\r\n  <a href=\"https://paypal.me/kamilmysliwiec\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Donate-PayPal-ff3f59.svg\"/></a>\r\n    <a href=\"https://opencollective.com/nest#sponsor\"  target=\"_blank\"><img src=\"https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg\" alt=\"Support us\"></a>\r\n  <a href=\"https://twitter.com/nestframework\" target=\"_blank\"><img src=\"https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow\"></a>\r\n</p>\r\n  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)\r\n  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->\r\n\r\n## Description\r\n\r\nNestjs Exception handling implementation.\r\nIncludes: \r\n    * Handler's chain mechanism\r\n    * Custom exception to inherit from\r\n    * Implemented Nest JS Validation Exception handler\r\n\r\nException structure: \r\n```\r\n    {\r\n        code: \"ERROR:<ENTITY>-<CODE_MESSAGE>\"\r\n        status: 500,\r\n        title: \"Error!\",\r\n        message: 'This was screwed',\r\n        body: { any info you like }\r\n    }\r\n```\r\n\r\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.\r\n\r\n## Use\r\n\r\n# installation\r\n```bash\r\n$ npm install @asemin/nestjs-exception-handling\r\n```\r\n\r\n# Handler creation example\r\nClass must extend ExceptionHandler and implement `handle` method. Method must return HandlerExceptionDto filled.\r\n```\r\nexport class MongoExceptionHandler extends ExceptionHandler{\r\n    handle(exception: any): HandledExceptionDto {\r\n        if ( !(exception instanceof MongoError) )\r\n            return this.next?.handle(exception);\r\n\r\n        switch (exception.code) {\r\n            case 11000:\r\n                return new HandledExceptionDto(getException(API_ERROR_CODES.DATABASE.DUPLICATE));\r\n        }\r\n\r\n        return null;\r\n    }\r\n}\r\n```\r\n\r\n# handlers chain creation\r\nEach member must extend ExceptionHandler\r\n```\r\nexport const handlersChain = [\r\n    new MongoExceptionHandler(),\r\n    new ValidationExceptionHandler(),\r\n    new CustomExceptionHandler(),\r\n    new HttpExceptionHandler()\r\n];\r\n```\r\n\r\n# Nestjs exception filter configuration. main.ts:\r\n```bash\r\n    const exceptionFilter = new ExceptionFilter(\r\n        <ExceptionHandler>createExceptionHandlersChain(handlersChain)\r\n    );\r\n\r\n    app.useGlobalFilters(exceptionFilter);\r\n```\r\n\r\n## Custom exception use\r\n\r\n# throwException\r\nUse one of the codes. Fill free to put any information to body (second param)\r\nIf there are no code suitable - throw any exception type manually.\r\n```\r\nthrowException(API_ERROR_CODES.COMMON.EMPTY_PARAM, {method: 'getByPermissionAndPermissionSets', fields: {permissionId, permissionSetIds}})\r\n```\r\n\r\n# getException info\r\n```\r\nconst {code, status, message} = getException(API_ERROR_CODES.COMMON.UNKNOWN);\r\n```","readmeFilename":"README.md","gitHead":"d12ed82781a6119e95476eee9606c831941b894a","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.3","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-+9SfZgQ6vLEVkp/YY/0I6a4mHCm/cTKj4FzeJy8uQxiDDsIY7nqkuxgNvwo8WnY4ZMzs7Q2V2+MLJ8U84xYRIw==","shasum":"3dc37986a409362c9f53848f71cecac8870caefd","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.3.tgz","fileCount":181,"unpackedSize":136740,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICswYytvu1MBKrVcVUtUxlNiJLCsLRJv19Ew4DTybEKfAiEA9hkAgPVcI7ikNYcro3ndO6Gwe57v/Lf9DcU3HsviU10="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibAXcACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqXYA/+LE6ANebproI+p2ZIMCrpFcvpIzCIfyYQ8oUlwYbTo5ahcdM7\r\nXxO6AZ4PTE2V6s006UcurZrZC+Vh/RMfPbtBAOpW298cwqA4oq+vPP52ubMp\r\nSgBtcGrVvIoKJ+iYrNcYaLeTEeVfNiXkW9c2Ifjk3OwcRvY3unIIvossq+90\r\nTXFB8wqRssbMfvXYqVwpngRbx6SteF4ofLtqD+ErocJO0g0+aEKb71XDDJgj\r\nmLeBwvYslQbIjwwWgGmyuUZQM+PrGkTrayo23lYSsIMpW5rOILrXJBD1PYGY\r\nwptK+s854z/3lMZ9IoQk4nJtBCRZsqTbbKs4qCYWgZ2xHj+Exq9W3vauM9/m\r\na9LlyS8AqXNRc4tIrX5zx9HqPkJ83A/H684hGZ3D+z11fXPprZqPP8zTakgr\r\nWDBYXaa5GBI2F7UP1uzs4lFfdtCBekMLDzwPvdM21AZltWcT7HNG4EaW0jlC\r\nRveqt8uhhsOa9+cLIE33HS+WsZ13+igqVk+kar6Ymfp4IarqwrlThUO5ayNm\r\nERzf/DJR6ecQSwwGo8/3FD36zoQwn72jGG0ODHrbww9wyEx4vXL62eudTYl3\r\nm0wRMLtcpGs/1rbU+QBJZERRGwbLhJ9modh8SySJX3H/EdYcw0/ZeSz3aEIj\r\nmTtEqrkrarZvL1cTh5Vbnn7oe+6hDkiXMFA=\r\n=yL72\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.3_1651246556396_0.42763828721515784"},"_hasShrinkwrap":false},"3.0.4":{"name":"@asemin/nestjs-utils","version":"3.0.4","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","readme":"<p align=\"center\">\r\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r\n</p>\r\n\r\n[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456\r\n[circleci-url]: https://circleci.com/gh/nestjs/nest\r\n\r\n  <p align=\"center\">A progressive <a href=\"http://nodejs.org\" target=\"_blank\">Node.js</a> framework for building efficient and scalable server-side applications.</p>\r\n    <p align=\"center\">\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/@nestjs/core.svg\" alt=\"NPM Version\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/l/@nestjs/core.svg\" alt=\"Package License\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/@nestjs/common.svg\" alt=\"NPM Downloads\" /></a>\r\n<a href=\"https://circleci.com/gh/nestjs/nest\" target=\"_blank\"><img src=\"https://img.shields.io/circleci/build/github/nestjs/nest/master\" alt=\"CircleCI\" /></a>\r\n<a href=\"https://coveralls.io/github/nestjs/nest?branch=master\" target=\"_blank\"><img src=\"https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9\" alt=\"Coverage\" /></a>\r\n<a href=\"https://discord.gg/G7Qnnhy\" target=\"_blank\"><img src=\"https://img.shields.io/badge/discord-online-brightgreen.svg\" alt=\"Discord\"/></a>\r\n<a href=\"https://opencollective.com/nest#backer\" target=\"_blank\"><img src=\"https://opencollective.com/nest/backers/badge.svg\" alt=\"Backers on Open Collective\" /></a>\r\n<a href=\"https://opencollective.com/nest#sponsor\" target=\"_blank\"><img src=\"https://opencollective.com/nest/sponsors/badge.svg\" alt=\"Sponsors on Open Collective\" /></a>\r\n  <a href=\"https://paypal.me/kamilmysliwiec\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Donate-PayPal-ff3f59.svg\"/></a>\r\n    <a href=\"https://opencollective.com/nest#sponsor\"  target=\"_blank\"><img src=\"https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg\" alt=\"Support us\"></a>\r\n  <a href=\"https://twitter.com/nestframework\" target=\"_blank\"><img src=\"https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow\"></a>\r\n</p>\r\n  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)\r\n  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->\r\n\r\n## Description\r\n\r\nNestjs Exception handling implementation.\r\nIncludes: \r\n    * Handler's chain mechanism\r\n    * Custom exception to inherit from\r\n    * Implemented Nest JS Validation Exception handler\r\n\r\nException structure: \r\n```\r\n    {\r\n        code: \"ERROR:<ENTITY>-<CODE_MESSAGE>\"\r\n        status: 500,\r\n        title: \"Error!\",\r\n        message: 'This was screwed',\r\n        body: { any info you like }\r\n    }\r\n```\r\n\r\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.\r\n\r\n## Use\r\n\r\n# installation\r\n```bash\r\n$ npm install @asemin/nestjs-exception-handling\r\n```\r\n\r\n# Handler creation example\r\nClass must extend ExceptionHandler and implement `handle` method. Method must return HandlerExceptionDto filled.\r\n```\r\nexport class MongoExceptionHandler extends ExceptionHandler{\r\n    handle(exception: any): HandledExceptionDto {\r\n        if ( !(exception instanceof MongoError) )\r\n            return this.next?.handle(exception);\r\n\r\n        switch (exception.code) {\r\n            case 11000:\r\n                return new HandledExceptionDto(getException(API_ERROR_CODES.DATABASE.DUPLICATE));\r\n        }\r\n\r\n        return null;\r\n    }\r\n}\r\n```\r\n\r\n# handlers chain creation\r\nEach member must extend ExceptionHandler\r\n```\r\nexport const handlersChain = [\r\n    new MongoExceptionHandler(),\r\n    new ValidationExceptionHandler(),\r\n    new CustomExceptionHandler(),\r\n    new HttpExceptionHandler()\r\n];\r\n```\r\n\r\n# Nestjs exception filter configuration. main.ts:\r\n```bash\r\n    const exceptionFilter = new ExceptionFilter(\r\n        <ExceptionHandler>createExceptionHandlersChain(handlersChain)\r\n    );\r\n\r\n    app.useGlobalFilters(exceptionFilter);\r\n```\r\n\r\n## Custom exception use\r\n\r\n# throwException\r\nUse one of the codes. Fill free to put any information to body (second param)\r\nIf there are no code suitable - throw any exception type manually.\r\n```\r\nthrowException(API_ERROR_CODES.COMMON.EMPTY_PARAM, {method: 'getByPermissionAndPermissionSets', fields: {permissionId, permissionSetIds}})\r\n```\r\n\r\n# getException info\r\n```\r\nconst {code, status, message} = getException(API_ERROR_CODES.COMMON.UNKNOWN);\r\n```","readmeFilename":"README.md","gitHead":"d12ed82781a6119e95476eee9606c831941b894a","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.4","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-MMgbX4YMAMzc1iiz/qrb0Y5m72YUmIuU6P0UyIHkgM2QgHCpxhV7YrYesvCKXY5iS9qXzecCGyxAmIiRFSzlUg==","shasum":"b1412fce3352744e1ded5667dfccfb03d9c7a79e","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.4.tgz","fileCount":188,"unpackedSize":140361,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH7DpxbJbHZwVMw9s4q2Yf1o7WslRicppjNFSksWzmvpAiAeCENvkNlxqwYTe7OVA8UX2Bdoy3e/S8IvGxU7voWsgw=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJibAZSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrzWhAAi0FifQGozrkZmKoz+d04C6CUassoZmx4iFwVBc0TMPMHIYUJ\r\nZ7p0ZboWl2x+Cy/77EkXMvdtKqQrZ1ZXg9bo2XRPSpYrEmAZsUqcKKqV/j03\r\n2D4pvKsC6S2Jphp+p+G4b9DuieFQl52+FEQh0U7R1RS8Xea3xLK4oq1qucmo\r\nUMTDfP1hKXTnrvMpSKrCBXc0VYYfnE8WZkbvjNPLgDZiAnpdfr0jH0M2tC/b\r\nDTqtBkh5PM6jS7ddn8rliFpxwevodG+GQ7Xw44b+FWZL1CEb1y0ey7Y1u1vo\r\nlpHJaXp4XQEWME9orLvT4e6RNLrMoVz7xwaV+t8dW1J6XrBPgXH8uamEQ1Ir\r\nuJh8j+BFSjhE8JnTPt/tUC7gO/DLCD8x9Nx1JuWGcPeRp4R554ts5w1hW7bf\r\nGI2eUE2wEaPEktC36AVGgg+Z54xAKsSBND3DZNs4FL69jFunbgwnzl9BWmhg\r\nGpR+PNeIw1w3qPM88dVBNxxwVAGweKe9P+/5sUEjaqHuqk3L4L/LpjzGJOxj\r\n6IZs75JoR2oILvfagdaet1DqAxHVkx4plfmAxAroJtL2R48IHOm2khBPEG1Q\r\nx261sGnIM92QX6gPQAAxqx5fDArhyPEd1DFpiTe7+K1iNUXxYpldHdBmYYRU\r\nB17iquv6thYYJt1TmLnAMU1UrdbtV0jbiqo=\r\n=gQ3k\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.4_1651246674703_0.22486746000504798"},"_hasShrinkwrap":false},"3.0.5":{"name":"@asemin/nestjs-utils","version":"3.0.5","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","readme":"<p align=\"center\">\r\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r\n</p>\r\n\r\n[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456\r\n[circleci-url]: https://circleci.com/gh/nestjs/nest\r\n\r\n  <p align=\"center\">A progressive <a href=\"http://nodejs.org\" target=\"_blank\">Node.js</a> framework for building efficient and scalable server-side applications.</p>\r\n    <p align=\"center\">\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/@nestjs/core.svg\" alt=\"NPM Version\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/l/@nestjs/core.svg\" alt=\"Package License\" /></a>\r\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/@nestjs/common.svg\" alt=\"NPM Downloads\" /></a>\r\n<a href=\"https://circleci.com/gh/nestjs/nest\" target=\"_blank\"><img src=\"https://img.shields.io/circleci/build/github/nestjs/nest/master\" alt=\"CircleCI\" /></a>\r\n<a href=\"https://coveralls.io/github/nestjs/nest?branch=master\" target=\"_blank\"><img src=\"https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9\" alt=\"Coverage\" /></a>\r\n<a href=\"https://discord.gg/G7Qnnhy\" target=\"_blank\"><img src=\"https://img.shields.io/badge/discord-online-brightgreen.svg\" alt=\"Discord\"/></a>\r\n<a href=\"https://opencollective.com/nest#backer\" target=\"_blank\"><img src=\"https://opencollective.com/nest/backers/badge.svg\" alt=\"Backers on Open Collective\" /></a>\r\n<a href=\"https://opencollective.com/nest#sponsor\" target=\"_blank\"><img src=\"https://opencollective.com/nest/sponsors/badge.svg\" alt=\"Sponsors on Open Collective\" /></a>\r\n  <a href=\"https://paypal.me/kamilmysliwiec\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Donate-PayPal-ff3f59.svg\"/></a>\r\n    <a href=\"https://opencollective.com/nest#sponsor\"  target=\"_blank\"><img src=\"https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg\" alt=\"Support us\"></a>\r\n  <a href=\"https://twitter.com/nestframework\" target=\"_blank\"><img src=\"https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow\"></a>\r\n</p>\r\n  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)\r\n  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->\r\n\r\n## Description\r\n\r\nNestjs Exception handling implementation.\r\nIncludes: \r\n    * Handler's chain mechanism\r\n    * Custom exception to inherit from\r\n    * Implemented Nest JS Validation Exception handler\r\n\r\nException structure: \r\n```\r\n    {\r\n        code: \"ERROR:<ENTITY>-<CODE_MESSAGE>\"\r\n        status: 500,\r\n        title: \"Error!\",\r\n        message: 'This was screwed',\r\n        body: { any info you like }\r\n    }\r\n```\r\n\r\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.\r\n\r\n## Use\r\n\r\n# installation\r\n```bash\r\n$ npm install @asemin/nestjs-exception-handling\r\n```\r\n\r\n# Handler creation example\r\nClass must extend ExceptionHandler and implement `handle` method. Method must return HandlerExceptionDto filled.\r\n```\r\nexport class MongoExceptionHandler extends ExceptionHandler{\r\n    handle(exception: any): HandledExceptionDto {\r\n        if ( !(exception instanceof MongoError) )\r\n            return this.next?.handle(exception);\r\n\r\n        switch (exception.code) {\r\n            case 11000:\r\n                return new HandledExceptionDto(getException(API_ERROR_CODES.DATABASE.DUPLICATE));\r\n        }\r\n\r\n        return null;\r\n    }\r\n}\r\n```\r\n\r\n# handlers chain creation\r\nEach member must extend ExceptionHandler\r\n```\r\nexport const handlersChain = [\r\n    new MongoExceptionHandler(),\r\n    new ValidationExceptionHandler(),\r\n    new CustomExceptionHandler(),\r\n    new HttpExceptionHandler()\r\n];\r\n```\r\n\r\n# Nestjs exception filter configuration. main.ts:\r\n```bash\r\n    const exceptionFilter = new ExceptionFilter(\r\n        <ExceptionHandler>createExceptionHandlersChain(handlersChain)\r\n    );\r\n\r\n    app.useGlobalFilters(exceptionFilter);\r\n```\r\n\r\n## Custom exception use\r\n\r\n# throwException\r\nUse one of the codes. Fill free to put any information to body (second param)\r\nIf there are no code suitable - throw any exception type manually.\r\n```\r\nthrowException(API_ERROR_CODES.COMMON.EMPTY_PARAM, {method: 'getByPermissionAndPermissionSets', fields: {permissionId, permissionSetIds}})\r\n```\r\n\r\n# getException info\r\n```\r\nconst {code, status, message} = getException(API_ERROR_CODES.COMMON.UNKNOWN);\r\n```","readmeFilename":"README.md","gitHead":"d12ed82781a6119e95476eee9606c831941b894a","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.5","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-RcYW5f0Ao3Qb3C26VBzk0lJVtEwBZ/QyaaLP3GMpjVVRdhifF0X/k1gromtYA2yMxHH71eGGSrEiW17Eiwk/ww==","shasum":"89f9274348afe239aafa4ca77a3e3ae3844e1574","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.5.tgz","fileCount":191,"unpackedSize":125478,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB0Nwd1ass1Oqyu4O+LdObxR9hn5IjFZ3oa/kV9P1KK8AiABDxFwDRLmXqgEHPjShqQNnM1M0ZGsHcOBJhDoBLsnsg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJicmNbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoy3w//Vqlz6Xii5CCqfhlqtzYb3cX2xmovEvaCvxCHlh17Lx2OS1FS\r\nAaTUmTyIOV3w5H56w4HOEAYy7z0VX6FUqw5d1FmXcis9mT6YuitiR9xHE1w3\r\n1oDk1JlzwXlHIDa9t+g7qJ6Egy+ZBHXeRaY3mswqJ0zXp8ifMRXFU3haRcWF\r\ntk8480McVrJrqW2gRzm/CwuO4oCRYkfETeh1x8gcxoC+DSvYV3ZiotgRkPb1\r\nP24/s0NXXZv7qv5RzLXu6uFUXOdHHYAfkbXLNs3LkKs0sIkRJq5DhWg1fDSD\r\nfnlud75Dk5Vb56RluAF3RzMJMe5XDuodHrEhUd6mU0ux5pdegTUu0pzdCMVd\r\nDPZMYSyvyWc1lTrlEzBQqz+D4kfgnuQP8+fpVqpIL6rhzE0oCjJ45R2XTrFF\r\nzrZpY5Qm59GH1tIoWF6Xmn15PO4AHXIVBAqnHJIRfsoXxVIxcFXslnn0JokA\r\nGBeBv7u4vBvafI0bGUPQiEsWgqzNqJ2Kwbd3MyeymOi8lwWl4btEz4FvPRXp\r\noeHLHKFWn9i4kSHJ+NFQs1F4mE1oHP6hDEPWKlArg9OaH0ijpnuOJhM3hUGF\r\nr8V9sfZztyHlv9HfYliQ3fMQeKM884AmEs5kEXr05HQ7WzV+vou0P01kp8Pn\r\n9dpDuxjIS6uNVHlFGR1FjiCmXiMDIq4pcUU=\r\n=Dndl\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.5_1651663707524_0.451087102285582"},"_hasShrinkwrap":false},"3.0.6":{"name":"@asemin/nestjs-utils","version":"3.0.6","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"d12ed82781a6119e95476eee9606c831941b894a","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.6","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-OuzYZnJ92QIUo7wH/06woLCz2q90yXjp4perLRCQdGkFrduIrIR/VHmNiPxLp2Swiov3Obi2hkXm6LUhz64uAw==","shasum":"ae570a33d3eeb50d18091bade67f6c6a24853bf3","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.6.tgz","fileCount":189,"unpackedSize":126320,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPXzWrZTwYYAXvcMmnP+RDwHlVlFE2XQoPpRg8FFqDUQIgX0JAziVq6npnl8yXh0JzcfhkfsTW9KhJJLY+s9Zjn/I="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifO/iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoiEA//cp09v7/gyt9SPgUm4QudHkWJ8JdTLgM5KxAm5p5BSxqqHP1h\r\nOBnGyG6UFp71odTSC+ADUTGQPnTMh4IRIvjiM9kQFIiVzqcu89XuHIBrsMfg\r\n/sEBSMRbhK3TXVpa8oPuCS/PYCtbESgjKmb94tHUtHaqkH/64y/IhO2hY40P\r\nrqiA1sg5NWqafc7+hAdQHIirY6ceH5mPTe7o0J6+4PYg3WpdkhloTTvzUi9V\r\nsjaoJVdhB4QHJn+LHjHwnC5HITikzhWpRQ0NprJEEeVjZcQEY8cIg1b3jpyF\r\nOpEumrb/O2bgWMhP6C18y99ivq75bb7yOsTcrwhbmYTcEGwfLzi+jJQmIiFs\r\nn4OK64bgcLamZsoI+UwZl/zO7Fjwf9oCfkqNiWJMdm82vRKeKoZrnA9MiZNU\r\nePe0kkyicvybFKtU86rYe4doTiLItXOqZgw6ytVLR0IymvbzP++8VX8pBAF6\r\nD7zU19Cul7hMM6tEXly3zZVtOHSGhe+xPIDyooty2AIo6S9SQoZqIPrqG/h8\r\ntdHRYNOEGudiycDNYAuD5utc92AA+rFPIRv9ju5WKOy6QP/j2YSfZDTJEece\r\n3CZXeJZO1r0UYg+KfRNdWWoa2wv4G3QXdembPjqE2qPEqxf2gabUFaopyJJo\r\n4ylHedcqe2hHpH7tTzyjgu6T1jxiOGbN5aI=\r\n=sc4m\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.6_1652355042607_0.7691792639487558"},"_hasShrinkwrap":false},"3.0.7":{"name":"@asemin/nestjs-utils","version":"3.0.7","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"9f5c975fd5b213269b3c1f93695c30dfb511d385","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.7","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-UOGLRWhn9+r0MaO2RETKlmC1ktawK+uOz/4S7GWw7dPQHkp0q7m0O7P5BcRZ/i+TYMZ7WBMWG2HQz5p8qdiASA==","shasum":"19e41a4a77d1a3d2848f6b64081b4c783b513027","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.7.tgz","fileCount":189,"unpackedSize":128484,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCA58CQVSqGV4DI7ePK3LXDSFZHWWbIuXZLWNX71r61WQIhAMPlPoSCWwJW1wSv0leqwPTPZQh3bzDT6pcyqRy7Rk0Z"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifPQGACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr5wQ/9EyJbpMLUn4R4KTLR70t3SOETQfOhb1j8BYtA2q8h8FbuM9lL\r\nH+Cr1lUCZ65VHs5Pk3jDK+6cwQSOmZ2IOenXqrnqRJrAftdFPbGfeKelaZ3C\r\ny4cqa4hAnQUWS1mKfa66tODYmNlQDJpq7lGJ9nknpDDH4+COeGlpMr/xkMyS\r\ncdwI9xS2V6z6PF4GoHilXkDp+ooC2EiwRhBYxXSJ8WX/uuRafzP1XVWYwQV0\r\n1Scf7er+aD9oblepafzwXeVK8kT6CGD1BML8NMOJ1UR1oSECv5mMBZV7CH/y\r\nWeIyj7tRTM0+bXdiLZwnPd94/NiJoTEDlGR2eoPLji6B4GcfIimmtkn4uN03\r\nKhvZtHlnG5nMUiI3aEFmgRKLfOWhZseHWFJD9eAigDKTyRdbAIgpiaH7AfZ4\r\no6B6RNhsvkWSNjVdGnJgYW+LFW9t21qsUWRnL53fJbslnbXLcpGCIPUR47sY\r\nS77CC/0wFVnYiCHfIHTLQjpoW93oS6QvwpRWRisOTtK2+tJExJAWU9Z87INu\r\n5BxQHjnxVMHPKL2FyEul5CZd5TJzXX3pQzfIrm5kTsC/hbDgQ/Fz4qIK7HPx\r\n1ocI+bJXnxpfAbWepo+uVJjjXWxFmy+/H3A4Y7zQ+PqwK0FttbIJO35EjBgS\r\nm67ByXmDKleMwGFnaKtR8hm3bIZyIWbICTg=\r\n=LtlL\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.7_1652356101851_0.7084271064813654"},"_hasShrinkwrap":false},"3.0.8":{"name":"@asemin/nestjs-utils","version":"3.0.8","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"9f5c975fd5b213269b3c1f93695c30dfb511d385","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.8","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-uVXeyer8q7cf6PbFhFtAqjD5Eb4h92aF41Ix375MG5MNpvN8ZsCkMgZV+s3BWvAvw6hXJo3rkztNkTQvG3HnfA==","shasum":"379bf110d1101f4ceafcc5fdaa90373293fdf514","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.8.tgz","fileCount":189,"unpackedSize":128688,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEnZWDfnDgvDfngB95/os4+K25W0WbTsKiGToz43mO51AiEAhaAeCWjaRbeJJJUsP6aQ6ku5qoqYJqWN5mH2yRhYWog="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifPTtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpWRxAAhImZ7PBPnh6hY4QxG9mS/j9pnFPrgtQR/+XsVK9BGu2Vj6Pt\r\nxklo89wYvhBL14sK1tuDhwyrI4SK8U/gNFnd538CwO8qMTv0zgASgicg7D5L\r\nelqmtr9vK5lpmAgaDijNICUrC/jq1z+qyRmpn6HtbKIAav/+sLl626aAewaL\r\nmRUbtfaDEL5xlk3wmOMMRqitAhfDsIe2cPHbBDrCS37paR5I+YIj/cCxqA3+\r\nHvkFa0IPItzfrrLGyUT2V7QWmzGxRRbsq41ln8023pK0LNo/5ePVYNqVW4XV\r\nKn/xxq4MJpQf2DJycT3tfuC0qx7MJ0HWfdqjyiFmomoHeNOYHMSrBlumlYIJ\r\nngseylcD1u3DXC5qyjLpHZbAQ/R6yRuSn2h3U5pP3q/G/cVK2KNswi3EI/wW\r\nPMJ+6e4VFV4f1Ed7/sZ7kyJhOtN0EGHSiNG/NIMLBAh9UDDbqSVNFdrgUWqw\r\n/JeElWKpns0WhsG2Fj/MznOYnsc7thYWRR/CHxOgANLlo36TsNXoujWG3HO8\r\noDc9jRhYiPuN44lc4kwzpMU5vRwdkMrEeiUBPzcFhJqMZ33TEdz0IeJQTLMu\r\nc8GuzX0RpKfX2qL4sEnV+aEFJMfSOuxxv63hRynaDGPt7J/m0Nq00OfkdWbh\r\nlCuot31chRW+Be1Q/xbfJMEAgOYaJfhjs1w=\r\n=nDTt\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.8_1652356332717_0.46952584398213193"},"_hasShrinkwrap":false},"3.0.9":{"name":"@asemin/nestjs-utils","version":"3.0.9","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"9f5c975fd5b213269b3c1f93695c30dfb511d385","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.9","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-q7EfrqRdXkDwL9xqy/daBKbJkakK5TvQVG4kcGTsqXsrPbsdYyLJBNdYVid7n6wNYFE0bpgArYaCsehKKW7dFQ==","shasum":"e1d57343b5fa38da9d912907cc055c8a48fcdc93","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.9.tgz","fileCount":195,"unpackedSize":135112,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGjwQriLYAwnDap79WVVbixsFl97izDbL/9bXSqVMeW9AiBzYLwmNh8LO3djv2p7aFwrO4ddq0VBK37R6pIjxaJALg=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifQfTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpImw//SAgGH2SowANIu9yHQWxExetQ9J23GDjR1FgjHzezy9X3/MbY\r\nlZe2Kh9ghF2AYSAyk68ctd9/3j815WXVgJg4SxFJ5cF+8TYRGE9/FEGLZCFU\r\nujRtKK5zK/bMlrPPM4EbOf6zpcQFdgYGCBQVlfoF36/8TLdmYwW2AyYbGLyz\r\nWDT7TYoq64VbYyWtiFd3NWHDnCYtr1xoytl0Y7NVKu6j7yYf8f5RCQV9zIX0\r\no7RQIC2w/FL0H9ULJNagFCVPffaSV6CVicSbcUEx9D2bTsMwluhyIsz4n0Kn\r\nfXMv2KVk8HLtA2ddmTpeWzHoCGLeCGOEErnV9UwBr0JBATWPCKHeamwYogW2\r\nUN+rIT6KP1ThdLinnIr8q+pQVjYT/pNhPolacmtq8itBbN3RPO4mGSu8u4H9\r\nA8n9kzcSALImKM73CMOQeJc+6V3wF4fw6va+2CNYy99grUgDeKp2/IUQ1OjI\r\nMeXqE9sEQ+itJxtJbVERsVx7WRLd4TAQOJEBxs0myd3lNLU9GZND7ZG5Zu/L\r\nakhdsGqcUKG7tzmWoha6CP3st9D4KBM6QesJDOwpze8QNlEtAXPx02ATb/Np\r\nV/qbaNq0vvN4IYTKdyLrTltAAe6/On3ZqT3MCOaM+6iRubG8jwat+0zIQEpr\r\nwlBuNmpddQ7r69E/jaG+KEPM15P7fe8/1Vs=\r\n=Udzj\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.9_1652361171570_0.10336189514270844"},"_hasShrinkwrap":false},"3.0.10":{"name":"@asemin/nestjs-utils","version":"3.0.10","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"1ceeaf926a2fa2691afb276962e27f45316d3b37","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.10","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-3oWpGCnlkLxPsl4O1SUlQmzqbDvzfM8499S0YP6iIMySUWEsjtMGyYDgsW0q89UPOe3G8a/SvJXSj1LgE4FAMA==","shasum":"933baa94649f107edb46810a42883094eced2080","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.10.tgz","fileCount":234,"unpackedSize":163898,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCthdMYXbGv0Zw5HQLiItvNf9lyYbC9FRNMkc1QAYVc7AIgFOyT++Pgi93izUxdntDkBcjbXfKRhgguMq0S3KX2dng="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifVqdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpLsA/8DjPOLRUcomu3FizEZ3yN/PDD5h+Dfy3nvM87BEJSKXvhVNzC\r\n1hrYvJIgvIWhP2Vh6e5+MBSSKvP8eiEA5/9tzaZNwJ5I1J+Q7En3PJQYlJN1\r\nqMBImKikjBoOLRaCZw7eTV14vxavtn2ZrqkJfWLyGEwFS6Gl4qRKYeU9SDsU\r\nhZdX0c4HNv8KtjJ9d0BbfyoeOTAKUT1JTU+MfjCWoXgE8Io52U25EADstIpx\r\nCvpPZX+lAIKp+zgg5zh40P5f0eWfo2WF1+lnZXWXa1WwEW04HkriAdl5pXfL\r\nsOBFcPh+5xvRh+sSZyUFx0xLoFvBqIhxmSx1EZEvx0aVgTo64iVAXIPNUs+d\r\n1tXACkdamEgSFzhSPEGV7Bf5U9J2Z7PCCOcWoj93QHI6zjNqnNOjighIz3cw\r\n1bJzTUvV3Lv/3FP1KsJTkDQ5UI6unTIKT3VdnGXcG9rqYv8bLjAMSRo2FiAo\r\n1fJsUHC5DYNsYAZdani8ie/K4grFdidaLKVkfO2IJNVuHhvlgxVWI3eIa9Wy\r\nUAdG/kKpUIb3gXH9tTT8JyUKcABhWDsKa2g0BjMmF1yuUYAhXXxxE5b0O0iO\r\nWAI6zrLPgVV9guMCyZEuYBxJu6Me2frQfSl1GAtY6/oumlnXRy3nSYLofy9G\r\ngmS8gIk9peFVXmKhSS3SnpzjoXeZac+fYPc=\r\n=NoF5\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.10_1652382365619_0.918659045044345"},"_hasShrinkwrap":false},"3.0.11":{"name":"@asemin/nestjs-utils","version":"3.0.11","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"8bcd3448f743c8d8e50111054f260c68e51b64ec","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.11","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-UVu9YMZv5wBsvGkFXOKFNu1nXHVEFXShmGGKynftzmmO0+s5L/Lk3WjjyuLW7BYH/pEVoDnn94YmAdYUat9b1Q==","shasum":"f489597b011f5411e642729db65273e6802ae4c1","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.11.tgz","fileCount":234,"unpackedSize":164746,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC5tkKf1jJ9lTO01ImyX0LFFH0I2c1OfEel5gYF6zGZ2wIhAJh6CTCTjDdVpgjjMcv003V35kpAB86Ts8n4hLWYH8Ji"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifkJtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo2GRAAi9HLEXEkztLKKTaNih5Wqd2p/Zwr+sC497u5Fx2gUCJWg7KE\r\nVr4kU5XY68vGeCW9txovHM21frMCt5wjajnhKjqIJTKMM7hH/W4Kp9a943bU\r\ncivYeP/KKyoOkWM4SxKj7ChYDqihEcM0xFl70OPD3agNUi0Rm91neRDPQnxf\r\nDe6gf9EbcLgPyg5vtsTD31uV7f1RNnYa/QesqTURdPZexZMmjpvwdZ9rENqR\r\nZNx3rQEer9biGR15ab7eDi6G569XgyprnZImB5YAAFOD8yX/Bo/tPd9Kkk2B\r\n2C/t8PrlNC4QPdg+bZDzaxK53W9vqPgH15Q9XSRDwT9t3+Wy+CLpVC9ag/Uz\r\nM2fiJrtS8LtpR2ISuk5DCB6hNAI3VQDM5ulioAZs7z8Sm3viPJGnHj/Ot597\r\n6kpeLKtEixiR29zZk/WifUG++ZICCzHC4fTiVC1G4u88b9eRULdAslKjU6dc\r\nIJ4aaQmQMx5uXhiZ8tzXdYwqrg+SkzRyrM8Krsfu9vH0SdBwOcD3RKydrEi+\r\n0LyIyb1szkJwfgK7gphAr4xOyqGfCq4a/LNkKpi4xqzuliezQLOHeDrUPFrh\r\nmRxG15+z6gWOjRjX7Bk/cLPV/QPQO+sWHICL5tW0Asq0mf9Fbx9bZYaMeGHR\r\nzPAUwHVIpOTeaRDAJRcRhc5PS3Khss2ueHU=\r\n=fHBU\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.11_1652441709224_0.6052819648271337"},"_hasShrinkwrap":false},"3.0.12":{"name":"@asemin/nestjs-utils","version":"3.0.12","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.3","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"8bcd3448f743c8d8e50111054f260c68e51b64ec","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.12","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-xxt2pYJYDF6sD024KpeNPKNUfvtwPYbIJStrAIHpr3iZczqmcvkIEovmuhPu8DXLXlZbNnyM4vM+GYMKge1g8Q==","shasum":"24f2fa672ab7724fec8bc1515f7e887ba93b6e08","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.12.tgz","fileCount":234,"unpackedSize":164940,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOWBrCM1vsZvsnOiVdZ+sOBGORtflMV3ih74PXvx1YLQIgJFwx6/Ws3oEOdqmVJahtG6e3WNpLuQFPpP2q8DLQ1No="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifkRKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqGtg//acfn346fIUu/4gfX55WU2cs3g11kA2IRUIb/+552YpqoWGA7\r\n6/5jiS9artq0SHxijy4pFbaZAvNIgHKYAQ85uCKB/1tq/v71LqUwqGJpftYo\r\nUyFC+TaI5i4f7qOu7wmrnjGuupm74fmCL/PBSWBOsNvjoMDMFCoO/xLPixZ4\r\nplCydM8IgpQHLUs+KcqEPIA7yfC4uNsmAYkt2n1Hj3iH2slAXiPrDY2yhxmq\r\n/xhq0W61Te0nQ4Cf4bx4qfbIBc3MXn6dlRSAn5UEqN8xHKA+Sgb1k6R6r73z\r\n572m28VbiPs58DCRI4/ewqJiypRECZ0G0OgZS5wnQ7aSaGSpdYUcf1afT2zg\r\n3qC0wxWFcf1r7oVUFKZ8SBemqKtTeJIie8xcNfKwXoPh9R0pGjRUovVx6E79\r\nJk5Y1mLWujTFSL6gTUShr+ecfaqXJyKmqj+pBNwUkC7oocu+07qpKweoemhx\r\n2YFWkHmaFTI931KdokwfYgfJzFTGkSStHWLVoZc9BE4yEubQp+HyaV8zfyOU\r\nVVKxTk9OcYBRP9YHzU1/mPWcWVY/S0JXS5NKIgeuOQDSkOVgal8PqI/Rrg4U\r\nHcxKdduodNQ0SFhGObcwkZCRkkFQ+A4EtXiSCx5r82fka07tTqYKpbm8QNVo\r\nFTtULW44ylwQBDK+ysqnzUtOtR+ACtvhTIQ=\r\n=3+wa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.12_1652442186340_0.5528934219992812"},"_hasShrinkwrap":false},"3.0.13":{"name":"@asemin/nestjs-utils","version":"3.0.13","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"c98a21064152aa0eec6d7c11ce621b0ed8029f18","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.13","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-giWWM7IPu4Z/0ehLuYOCvokF0CUbfMutPR+VJScG6JsYYyZQDsNpoblCcOZa+/64og9WYB6+88fA3JBS3VPekA==","shasum":"16e76a8937414f02816bacd64fd61600b9b99610","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.13.tgz","fileCount":234,"unpackedSize":166048,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH2TFQ8UXxoOtULWZNHi0Y5a+aBuSivnbHLfvS177y9dAiEAyjx7321XjZe7Fmi/C95aeDDMgREh8Hfx+vu4BAq2W80="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifkmvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoUKA//cQ7hfqJZFadJne3E2VsAJDYc5Av6vUqulZy5LFUcOU5+LkGz\r\ncXsA7YfN+z6C3hNJX94r/F79+28IzXPCtbMsd49LT2YZJwrh3MsB8+pNnl+R\r\nx1foh2uSGNZStKdaEuLzPOM9nGBjS1VdWIttxHinfR92Z1HQQyxQlkQ+WYXv\r\nFA4tJLi7C8p5i1E9VSn+e/qMoBzFxzvJPcKkAvIWXa0Rp2aH/RPdT+LfhDmm\r\n4cwpOLQyjSsp0h9ACQkv9rNcw8EHH3XiMItVpkUJXpboU0npVsuNkFTt0Jus\r\n27BggXMkotfShAPEZw+hh7lc0cWsDbZwvDHpjecaZ745FsRrUhv/DsQ+G/Cl\r\nkD3YHyFG6Qe55KresbwjUXtNDhcTzE9Aeamki+KhymDauWmt6jDTMTv42VOT\r\ndu7dm7x/y19OzRS+M41KdZdc8NWLZ3cGbdPUmleHXDem4R6EebFRTPZCUPqN\r\nurJJKuGZ1/mDegptESU/Bq8BnXJK7FUQV8U9bqi66oFs52DoBQeaI4u4DUo1\r\nHJktbh5vQHOakCCJolqLBBSMCHM/eOG0tNnlHu7OVAJjLi+PbXLtwPD/CMHR\r\nI7j57RPdEhADX/2MEjG97exh221wryuQ+00aFeLqM7TUETVLrb1PD4t0WDTy\r\nro+7Fr/zDHTz/GBZK5spu/hiV9BYlfAm4w8=\r\n=SS1i\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.13_1652443566848_0.8086085043158124"},"_hasShrinkwrap":false},"3.0.14":{"name":"@asemin/nestjs-utils","version":"3.0.14","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"8dccdef8c0fad3511fe69fa5eb21009e8c45e9fc","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.14","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-9CBtryskS7fuNkylyDj4VDGOWHUizg9UFFfVf+0WdHqkMabevjbjlPDRzF9SGikSKA6HBHH1jsjhMUW9JtNMiQ==","shasum":"a34189d7dea08c79fa05fc533a3d7a0b862731f0","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.14.tgz","fileCount":234,"unpackedSize":166371,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCW/gUm4yUZSW9DkrsoxiT34rN6SnrRL/BVxM8fICfmZAIgBUcp+B4w0H2430t0zspgBn1O1PrMqDmwfV2ScEFRGJY="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifp7jACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqx2A//eljbM+YhTdrfp67QbGEPYPsElcGv0fN21M7PXop/7PWb0MPa\r\nfyHhqb+UkTlLcu2zkOMF1kEJtd+EA5axEaLBq1OpO2k+9delxry2QqLnzgju\r\nHhunG5bzqdv45vnQPGnxLvHhtyxwLcFTZjrAyUgM7K0QxO76BoDitVGpQp9j\r\nqjzF8h5MpQWHOM/ydjiEfwr4/F45wiE9kssJnEfMoGgxag3OWw5fIsYiT1Ng\r\nQw93P1YFqzKt5DHQwmtRF0MCcr2RbWuuuzE+cCy6g1v/UbLsKaWa3v0iv1wf\r\nTxS3PEydg7AMh2+DnO1EHw3U1iyGPvFQUJPF6HRffgzfGAPCMGC7FQK45b9E\r\n4ceiejnhWXEudmdxo0SNWaxmDGjUNXkB6HFt3SwmQOirmWH3fbYUlgaLpUaz\r\nxCLb1geWWQGh0BH5glA4OihaWUu8NDLCGvfGac/SwQQxHc/6vO7pMCgYPNZy\r\n18vvZVD9WzJQvg2Tt/cCn2cLVSvCCxruNqWBix42yxK4Qq4Z7p5AZhr0pqlN\r\niOwkrD9MBQ/eIBBByXi+yc3wsep23XW0asg58Hxpi1uP/Qd9JD70oaWKjfL+\r\nBcuLW1IiDfPR5SwpFdgwjKfxsi/xgqR5QkmtJRsZq/eaYqzFfwOVFdnv+mDM\r\nncPuHkAHy2xyhlGT+9qTxFP2G99DfZsxxaw=\r\n=a+oI\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.14_1652465379520_0.05852052862442081"},"_hasShrinkwrap":false},"3.0.15":{"name":"@asemin/nestjs-utils","version":"3.0.15","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"8dccdef8c0fad3511fe69fa5eb21009e8c45e9fc","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.15","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-RuB9FX80CcV2PFzjcAj9E0+GNuUlf1kztXXgC/BPgmJVtUG0e6x/Zfk2oPx72vb15kVHQi5C11abGbZ4H13l4Q==","shasum":"bf6db0deeaa61e10d0567905decfd402443eaa22","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.15.tgz","fileCount":234,"unpackedSize":166723,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB1YolmtUP+5K31ouNJiOwPD/fu3olIst86P1P4fBNoPAiEA9vgXq+dOtygoo6fmtmMH2WTMRbo/MDq2GCCuTHR1j1s="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifqHxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoygg//ThvPyVd8+dWkjPrQkcXfwjnqYM9kIVk+yYCK2R0DrFtJi/EH\r\nHvXY8JkG77dQtjkFRRiV5x7pdQ7KTTUJQ6TRUkAIu2Av1YzY2p/L1hUHRYOT\r\n7e47YaV/1BI2uywMOyHB4JfaLv7fCVvgOYL1YOYI7xR+LTp6dJ3pBp2Y+P2d\r\nXmhDcQ1TKx8u+fGW7vPgwTzMFbQJqzIw2mIwjHBSHBwcSoBToDOjx9WjgQ6A\r\n8EFz0uTJrtlXyddE/JqOIDPHOzqyI+9jaekueXwD+GcB0YjLPymKA9DJoWia\r\no627MfspWmNYH9GJRg6bSXuvwYfTX3o7kyUPGaTWmxOxLyUZdy//qPMZ/PXu\r\nUNJFKg4lZ6cwUourAEA7rvfLETjArQRJaiKWWJKPsoPXk0U1xddPaXO8FW1b\r\ns6KX0WaAa8DTUDPW8rTKPEXPTpUcaMKqOUC3HxM2zU+Di4sUb5KtfZvvviDc\r\nealxYRt51a5XFnfovMoXf80kwwIO7Vnjp9ltwNmBCgUv+FiFlAbOBwoA/OHL\r\nMhe1PfFeIXXxpB394c90eIaXevqJainkVp689FovKTGliQU2tpn8da2gx9Hg\r\n0a3+IEM5YxBRbJcEfwb8ZD2wR4+RqGfM2aMhjXFj5WZ06GcY4et3drMrQ4U3\r\n0fkHcXD4UFy7u6VNyYWcoTjN5xl9AD/PpWc=\r\n=fomY\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.15_1652466161365_0.9786303827365384"},"_hasShrinkwrap":false},"3.0.16":{"name":"@asemin/nestjs-utils","version":"3.0.16","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"2fbf7b234565fb9d73d71914dc6c42ca2070cbce","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.16","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-p9lxer0dHZ2soqWvnpPXexRDbbHhBr2C8zn0whSdemkHHq1mvXdtLdAFjBkK1kmwL++SkzHHVhldqvk2oWacqA==","shasum":"e359a27df6998a16953a39caf3384631544f7f4b","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.16.tgz","fileCount":234,"unpackedSize":167147,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDLMNFA+5882fVg1fN8vGiH5aFQejXRImP0fT4wutY4wQIhAPxIfVxUs5iDmxScFG1eTzran6QB3NrbJmDVx8pSC1KI"}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif1L3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrxNBAAi7MzDKpZcPvI77rfCnLfKCawhEgWtCzNwHAOwSgcJI+1Vqo8\r\n0pbl/aYhEWOMrnheBpAJe6fOXly0oeqCarTByzVZl7Kophd8p6jO54UsA3nB\r\n1o4FL7jr+4rJGLx4SYxDmo7LdTUSUFp10YS2RRhsYw1wZlgzbLuvL43S3apG\r\nDQEYUIu7i0oqIQ3+qggUJ701i82QqCJ0kbaPLcILNj94w0QBqY8sQnNvIUWO\r\n0zT3ky/lX/DNo45tdUXPMdqUBlBULHW1vg5gFm0ZpUnVr9u2YHipi8dkK/Mv\r\nnNoH14gYhgzl76mSnakcV7Q7Ha4lHkvRhAgtWw+RpWuBkTHIOe2QTqW++/eb\r\nzwZ19rJAokXDsQmDWtksfl4DT5FnFkmyOvq2MZjEWHjBuIjjSU9+a7IK1Z+E\r\n9UempFbUO4PZBagIqU9JFriZxSbbHrzv4h88jwK9iyRmAYwJ42xmwzhQMqW2\r\nHWL/B/wjRnP6lL7B4esP2xfeA91w3domWcMU1c5ntGtcv8kFfyZ5NmRlry25\r\nOi/E/mblTzJKHXrnwj5LRK97QraewbRuyNgepw5kLCn1/kUJwmxwZd+lYe/S\r\n/fBUlQvM0sXGaF82g3IyWdxC3kx/r3AgWYwUfnaK6mb7HhIkiu4CD8YMLJjH\r\njZAX0S/wDVZ/bGze4vLxORGHc682m9eejY8=\r\n=LH/Y\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.16_1652511479271_0.7009028502876529"},"_hasShrinkwrap":false},"3.0.17":{"name":"@asemin/nestjs-utils","version":"3.0.17","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"10389a6d1faef2c45421ed37e277e908c2fcd5b7","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.17","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-QafszR+CLajUZjCX6yWokOoH4e27H2Gh3PrEV7Xd9mfUwl+ZtkPpooPuCCOsxFtYsZpYGLzT4bnkIqtJNf057Q==","shasum":"d0586b6ce79fdd51b0e402cba496fa4b6af19737","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.17.tgz","fileCount":73,"unpackedSize":45121,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCotqAEYG/4ID9O7ALs4cfjvG0eC9KEs1Noe+E2WbdiXwIgR/UzmR2YoOQAkOb0KGCZaRR/TLXd7tYiW8heBaGGe1E="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif14ZACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqNYQ/+PfJ0XyVd6olNgRxFKKl8c1Cvf0H0rsE3uI7UobK6AfhMb0tu\r\n6Ygp1ZMeNPMn4pObtjvxjIDd16rzedBFSHSmnpGT041r7cyBajVLECgxs7Oo\r\nd9iHhArcpSFoUuU/U2PPwtVzIN+Ggqx3U5iHMNHnDD76hifd3RPKGLSkN9IA\r\npN5YDidwtBaKTnuo+mEsLY4EEY3rsRFbteBjfOIZ1ExdW9OWTj46qvVg9N5D\r\n9m8G18viNd4E0KSVNIxshZYcxA6OpXlbZ12TAdGXo86pezcOHjbs2lHQPBj7\r\nkEIALDKioQfX5Uy8D99QzaBoyx3xN54MOUS3Snz1nuXLTTHIHoZn24BPL7tw\r\nzeBlhLGePPJWz0HZiHWovmeJlToA17AL96MfvjmmkTKqxe0v22Hc80h8yJnU\r\nb/RC4DidgUMGp12ct6oWimtxcqwMiuNRD63crS12yjoV5SNs/ZQqykh3jGLp\r\nmB7VMW4BrrZOZ3Z1oLaDdOyvFWRJ45cz3Nx2wytpmNzLFuocCIZAQlThPyc1\r\n0v7/MdKV4juZ8MrRaUV5UpQnYiC3tWZpVBJIEv15UYTOTjdX5qEga93alRUk\r\n0n4QlhvH+nEQlMUhagSWBcOP9PYsuG0djIRKbffqUpZCMVMShwtBdkCaNPST\r\nl6Glg+hwYng++le2klrM8UlXF4XYr+gNAfs=\r\n=Djzk\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.17_1652514329543_0.5303305589549814"},"_hasShrinkwrap":false},"3.0.18":{"name":"@asemin/nestjs-utils","version":"3.0.18","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"10389a6d1faef2c45421ed37e277e908c2fcd5b7","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.18","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-wBfIDP93Is5Nk77JvQ8ryb3+T2aCX+4WL0GoH53Q6WU4H+1r3sFHGkhahoGLopSQJByBDcqvNkD3JirOFx17LA==","shasum":"b818c504b6144ee89ece63dab005ae0f19f6b955","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.18.tgz","fileCount":115,"unpackedSize":72273,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCOun8vPCpGo5d9UBbL48ER7Fu5jtUtEELRaaW5a+V9SQIgEvlBrENPC6DraDiEaHERG/y1gK0hzAeleEsl3vKMhNo="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif23FACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqkiA/+IKA9pgg53hnhMNzrKO96t5jXLfrxkwQNt9r+6d7DJEmm/JrE\r\n7D5roIanQjof1EO5Nz/mgRDAuh28jcY//dqBazz8cKBMTZWEDFjf9GS0JU7C\r\n7sYHcEmGNgTRkwstuc4HBuEE9w7wkvR4vMRd0EpYoXE6AJnujycQEU8PXeS9\r\nJgD7IfF2/Dsri4lqkdXPOdnqRU3nJwp43sXbYdYtg66sN298RjLXSJKO0b8Z\r\nfH9g3HvZ3VTs59bFlryNVmwDVy7Xz6NcavgdcIf4hWk8GqDoN+wNXMeBeZDZ\r\nVXhOV4WMFfN1JTtEcP8wZTfpVeJbcipHxoPiRvd6c1HNhzCWPTger0jZPUSv\r\ntKZwOTcOi0i81Jl4MqEC1L7ovlsq9ZwNLUQ7Tv2LvSO14TsTrbgtHVzI8uGr\r\nHHx5yDoEoZIpG4EGq4LMHt2pTPJI9OAxz1pOCZGa8Zdd9oeC3cr734lDdHOi\r\nJomRb6mjb3DupzDHSieMzsFcq5mK7z6c4VoiHFFNSM1tBhCRkFAbq2X4nTDZ\r\nB2pWHUlUWYeKG217QwlNLIkCDCwQBa/day90aMhoBhDDLfTECI+EAXGJFvEj\r\np2Jd2o6HXqzJZdgte5kPxzbh1eiRoLSb0UBUpUetq/J+Lesxl0AbQdOdhT/c\r\n/hJG/fmC7mq4iiPuopeOkVCj5AA4dyuax7g=\r\n=OA/t\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.18_1652518341125_0.29896304841596"},"_hasShrinkwrap":false},"3.0.19":{"name":"@asemin/nestjs-utils","version":"3.0.19","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"0aa5e9f74e1cce5d49c0288bca4833cd7367a697","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.19","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-1akcFwKXTZiVms9Gz7uGHjUrcLpImrYeQH83eJaD830AD2B58c98qAwr7eVWnjRbPmcllWGQhqI6inPjXWrCng==","shasum":"00db4928dc946e0fa3b39f398add8537c4ffcd84","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.19.tgz","fileCount":239,"unpackedSize":163811,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAh7g4jo1hhNckI7bmz87/F7iZVOHtnEd88/hf1JCzXWAiB/ESPyhu+A6GpQBRZpKZOcZuzfGOfmApawLh46Yaw40w=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif29AACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp/YQ//cgjY6DQ/qprCVymbuBNmx/CsCd8BIZ3h+sDVXCM7uEpW+iAd\r\nOaiRPFIl5jrmnY1vs+DV5vG5WptrnhUPxw2mnbQ6Xd0h/KiP2foWT4ksB1L5\r\nnSSjWKANFEHXw3ZEKN1Cc9W5wQ7+ze9kZDfpPE7KMoCN41/fgg6SPd47pUqU\r\nQ0nuI5cMCCfARL87S4/GfTBl0rfzGWdKhnjZQJmkuHIVQZZSNeqZ/cpZxqSn\r\naZ2Enci1BghO+9Z3S1PpbN6RlZC3U+RnDLbe2WqNSFPnx9qAHNibnWJfZdpU\r\nCoZsfflYLhbjQb+vSlyM/TRZAz4iqNdSwLa5qxwiqyK46EsqiVDzCU31R7F7\r\nk7L82byj4gZjQ6ERKZyoEPzuWgqww6qoGYl/EnCtO57qEGBe9tlewPt2a8iX\r\nNipufttNSB/yvScxhj1BVB3nonPYIMy2YO7cQn2K6SqmgJZOIgd5je08YC8d\r\nEDCdcS6D27lvhz2jJX5FqHTEkzeKSmBKYNurBMKaSAKd5+y7jsOYNCoEdM1O\r\ntpVaV9Oggy0fg2b7GbE81KJ47VMLv6LECJMtfYBxIHQAAxpTadngBCEeWC/N\r\nMlsnkW7n+YN9qKbIPi8pgXo7ZCylG2vd+VyqC7m97q2HtXkbe985yIDebra5\r\nGMibHLYOg2rUf77bLns0Tk7v0R6LnQxwCb8=\r\n=UJs3\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.19_1652518720235_0.05684641033006543"},"_hasShrinkwrap":false},"3.0.20":{"name":"@asemin/nestjs-utils","version":"3.0.20","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"0aa5e9f74e1cce5d49c0288bca4833cd7367a697","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.20","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-4vB6m/VvKGcW/NiyxRbrEHASPmWP1F6h22TgBx5QfIRfXiFVMrT7hNonmZfCKFTLKGoA4wxgj9HZK4p/5asWuA==","shasum":"dd8e86a982df7e0bd799cc77f5f254a2555215ed","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.20.tgz","fileCount":240,"unpackedSize":164209,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIASYtmRUQCgBSSUyvYEjh+aLZ2uqxFpbGr+r+nAXe4h4AiBKGk5GNz16oKsSIP0CqVEA6mIiQ/FUQsD6G8TBsFS0QA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif3JbACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoeIQ//cCi8crSGlzNPckPWXeEtL4W9TMzMWXv8E1Ic50TekJ2PJJNM\r\nksLBUT7f9m+CouWjlGkAzy4Uh2N0JoSSeMskTP7goKMY557B0tvZgHOSBDFn\r\nt7XiuB+6G4QUKZpu03p+3BdytvrdhgRA+Zkw1/VsQzCSn7vcMnb5946yPFTT\r\nfoWjRjlW8oWvhRjVueZINdWB/53XkMtHL+T3/pOyszRgZFDrpwi249+g2uJU\r\n6VTmt9mBse9GpA2lqqS2LCJpP3z3tXKQPu4VajciZqodsnqTfAs5gTFAqaRh\r\n68S6oWudQKqsnUYRZrHtrv4KBCo2BSZR3Z+16XE86Vu0zwUcVuBSZ1aaTOCo\r\n2SMFQrmN2BQwlH2TpwlPFvRwO3mhiVv+TFIWPRFrIFkj71JKEtnrX3ANCxDI\r\ninHxch3rWRt1+CMme//dpFlyNgWrvcNIuEaIV3XdrNKdFR7aK4DkEnSK1OQb\r\nEvFEMh1hV/R9NkU1bA6u0KpHaXdDBBaFr9IcrTol6SDEnbfJb6mYRLXcfz+O\r\nEmOieh+hk0MIoyekdvGoqkGlGgiu3niwJ5Od7h1FrstFpC14Yuz70Smgebev\r\nmneAc5CzHvYBzy5rf3gRiwzID/H/5fZMyCE283n9Rh1NzanwkmSxQ/oIj315\r\nFr2tsn1NhUQRO9NVJPqN971RALHYkDO99dQ=\r\n=DARR\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.20_1652519515751_0.22085508859665604"},"_hasShrinkwrap":false},"3.0.21":{"name":"@asemin/nestjs-utils","version":"3.0.21","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"0aa5e9f74e1cce5d49c0288bca4833cd7367a697","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.21","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-PC5dRveIHE9nx3dWKItULdXtrNgoBcKBgKMNVQGeEd7jYSDO7acXj46YEb0FutS0IfY2E+LrRdIcYT0NqH8I3w==","shasum":"34cfc388f383e6ce7da210c597801707c6735856","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.21.tgz","fileCount":248,"unpackedSize":169141,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDQOk2qdJqm8iQBngpInmGHTQfRb+OG2i5IxTUUSCdWxwIgLVZempOt1llgtyFn13kr/9fFUQrlOGeMKjC10x697mk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif35MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr/Qg//SUJ6B/+AYmLdwufaxOQBvy2TxSByOoiCxykksp189nfPLW31\r\nJIlNL2aGN1QL6XBDdPVQvFvVfpavZjZ6X3qiTaBJYPQtkMfVrjN6NFlOIo8Z\r\nGlymIeIyA4YACJHUVTzi2tZBqR50WwKyP45WT1n9q/xmfSvkS8pM0YpFYdYk\r\ntY/rWbVvmKgMO7ExA65bbV7Xs07NETaWQMWD520l5SJOFy7kJwWuTtzGImIk\r\n8EXaoiLiGH0SZxwQv6mN7DoyDZoi4AqATl9M8yoOm4d8y8eynrNo8IjLTCjW\r\ns+91Oh3Xg80hBXoGEPKZtUlGS1OddJHqtG050uyqI6Pq6Qd5k/eRj5zEz31O\r\nNWl5Be43c0q0yFj/WwLoYR3ik4G5vkEt0Tpc6duPhtBF5ukaLAjV6hjiwGQt\r\nGmeenviwifxOtHLO5wxXNawsdv9JQVsbkGfXNhFBts9Xm0pBJE6+szayFInW\r\nfrrC2xGXyDsRKwqSDFypwwoG/+guMDUP/8HphKbCB9KPg/vtDHp6sLMJP3hE\r\nFDn9KWHadtdSYOsNwU6FY0U8rH3X7Nt8yn/clPAgy2qMpX/2E0bREOJ/HF0E\r\n0dXGMhbUhyCZJPKVUQ66MMGPSAE00aAUEmSpx4T+5Jk5Qfj9MZWMuW0yipEj\r\nvdJoaW5IwUq1VCPSPGy+lPmhyt3KHbhTJts=\r\n=qyaF\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.21_1652522571788_0.45522716149047016"},"_hasShrinkwrap":false},"3.0.23":{"name":"@asemin/nestjs-utils","version":"3.0.23","description":"<p align=\"center\">\r   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\r </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.6.3"},"rootDir":"src","gitHead":"09550fdd5bf6d0cf97fd2e52d08234ecf3592273","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.23","_nodeVersion":"15.12.0","_npmVersion":"7.6.3","dist":{"integrity":"sha512-WU4lIRCHqapevjroPxkSoF017phyl42R9CCeVaqwQ4yBwnwssn9jMnq36o9uOtglIG23P17daOBzkXL/D+drjw==","shasum":"c11d6052b153a5fd75b6499ffa69b6686bdc38ac","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.23.tgz","fileCount":248,"unpackedSize":170005,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBMWHQJ0THnStvQPuo6XZMY5l4x/p8FFAuMcQTXwzCdHAiBBXB8DJZqOpiYGcQZ2boTluMjofb3ee8IdmlpM7xzCAA=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJif4rWACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmrkvw/+Jsjzys4QZwZIfFpVTQAjrjAmiSLTxibUprgy+gYFdh6GWM9q\r\nuS9Z9NOQbouGDERXnmSL57sRgaXZRAnci0XbJqUtg00WycjQMFEQ/UeNz60F\r\n6ZK0p61gkAUQ/rJnBDyPQgRvbe09/pe066cx5e42RFIu3cWQF4p5xPdEzUnp\r\nVd6HJ1U8R+emqM0Qysah4x0LL4dmqGsHuysV7+u6JsIrcQdiLC+FVi6B4h/K\r\nvP1FFqL3ly2U8HxUWeshkQ0qAfsXF3vk4AqWztiOpstR4iz2vm/kAv3nHigb\r\n5ZD9coI/ohS3Oc0GKGuk+Bl52kP7jv39hZ4AqW0rLEEtcK7tmSNixgjw6r9s\r\nHOmMMZ7NhY+A/CEZAwYgCvhPX0+mWAvUU0SyScdL8yNO0riJmNv6F/TnhZkI\r\nhqWmzReHWZVgQi49IjNhwf3XBmHAyuYy2nOB+PikPHWN5RzlP2X8jMjWVN0d\r\nthXMbNlb/V/Nhus8H5VWuXPfydyyzjd9MoPDcWk9ArxkKepblPgw+Q3RfbHZ\r\nX4B0YBTWXLq1NmmhnJxEnnfYnlnua4VWLmH3WLq9peuCii0j2Q8T45j2DczB\r\nlGTuYRH1uqMMcnDcuwhaYmbEN0h6RkxWY7SO6x967gb/MA4t3VKDyhnC38/o\r\nTAT6fhJTs4SBgwAT+UkKDJ/Px0Xgy0kD6BI=\r\n=F40p\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.23_1652525782113_0.43470230418419"},"_hasShrinkwrap":false},"3.0.24":{"name":"@asemin/nestjs-utils","version":"3.0.24","description":"<p align=\"center\">   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a> </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.8.4"},"rootDir":"src","types":"./dist/main.d.ts","gitHead":"14760156a7c0b7ce8084908c80c017b516b8c03b","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.24","_nodeVersion":"19.6.1","_npmVersion":"9.6.2","dist":{"integrity":"sha512-YL8rxCZfpmcHuauhYNlDTx9PeEWgDA5LmMQefIaHziQfOBEW/zmQF1y5hFGGe9I5sg1X6I70LG9lSDYK9gK1JQ==","shasum":"cbf0b54ddb5d12458206d4aafa4cfadc2cd66d6d","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.24.tgz","fileCount":255,"unpackedSize":170935,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCQ94tG3nnOVE83ZcwnGPUu8eVKHIA7Rd+z9Oi7MeNIlQIgMezbHIqc5LBF3Mr8w2oaNpY6s3H0mQ8y8qNf0JdU6T0="}]},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.24_1692865447986_0.7542600866916793"},"_hasShrinkwrap":false},"3.0.25":{"name":"@asemin/nestjs-utils","version":"3.0.25","description":"<p align=\"center\">   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a> </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^8.0.0","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.8.4"},"rootDir":"src","types":"./dist/main.d.ts","gitHead":"14760156a7c0b7ce8084908c80c017b516b8c03b","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.25","_nodeVersion":"19.6.1","_npmVersion":"9.6.2","dist":{"integrity":"sha512-odMe2otcidY4qRG+M4RnNTa0dicqZOA28TWpqpTkDiqk3lB8WqzW0zrlszkNlnFDpa0knsAEZYxVxhe4+bzhbg==","shasum":"cda43e591852f64ca395bd6eb14dbaae9835b092","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.25.tgz","fileCount":257,"unpackedSize":209396,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCuigtlEu2E7nH8kWsTQf1cIwznxdurU1uY6RZLYbF9ngIgEns/YGxKNNZyrLUIRwNvE9/kv/Z/tpSK02WCAHQEhf4="}]},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.25_1692865521634_0.19420566963880992"},"_hasShrinkwrap":false},"3.0.26":{"name":"@asemin/nestjs-utils","version":"3.0.26","description":"<p align=\"center\">   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a> </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^10.2.1","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.8.4"},"rootDir":"src","types":"./dist/main.d.ts","gitHead":"14760156a7c0b7ce8084908c80c017b516b8c03b","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@3.0.26","_nodeVersion":"19.6.1","_npmVersion":"9.6.2","dist":{"integrity":"sha512-2daxG4Im2m4atAZDGqN1rfAGPqff7noefgyJboTQCEkhYcSivlO/iG9niUvhYYSPWbpA0pwlqfbvfGP8ONizUg==","shasum":"f14e1d1fd82d5ae48a43775d07bfdb1956439087","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-3.0.26.tgz","fileCount":258,"unpackedSize":287058,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG8CUpw4Mxc1BE0WbuH2hT1uy6bBQ8GpcLRHjM4lTQkEAiEAhXXNy+xCqP6IZ3WmXplHYpZtq9E8tyzkcrnPsJtHxXU="}]},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_3.0.26_1692865673137_0.16866754391134453"},"_hasShrinkwrap":false},"4.0.0":{"name":"@asemin/nestjs-utils","version":"4.0.0","description":"<p align=\"center\">   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a> </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@buildery/error-codes":"^1.1.0","@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^10.2.1","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.8.4"},"rootDir":"src","types":"./dist/main.d.ts","gitHead":"14760156a7c0b7ce8084908c80c017b516b8c03b","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@4.0.0","_nodeVersion":"19.6.1","_npmVersion":"9.6.2","dist":{"integrity":"sha512-hlHDFTf/NrbwQtJZyV2pQ48p2zD2HrQFxscq5yYMt3y/PLEUXVIsSHOhQs5+4fWbFnQRfjaCQrRe+Nw+j163XA==","shasum":"dfba4afe54c20320339edca0ff378ba821a6c80d","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-4.0.0.tgz","fileCount":260,"unpackedSize":751767,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEn2M9vgXNFH45ai10Kfdcqh6Vv/sEuhp91b417yFKe0AiEAtZJ8nZvvRKq3Vqikwo51/i1cH1mp6od/w15KThaiyvI="}]},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_4.0.0_1694011336037_0.1973433641376905"},"_hasShrinkwrap":false},"4.0.1":{"name":"@asemin/nestjs-utils","version":"4.0.1","description":"<p align=\"center\">   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a> </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@buildery/error-codes":"^1.1.0","@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^10.2.1","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.8.4"},"rootDir":"src","types":"./dist/main.d.ts","gitHead":"b00232b2379b07ba2f3b4a93092c58fc99ef654a","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@4.0.1","_nodeVersion":"19.6.1","_npmVersion":"9.6.2","dist":{"integrity":"sha512-zPKfLTxU0f1zLb3TOVn9PehI5zpBJkgZLzk+DVFGDJBhpZT2q5EkYPixjfwcwA4S98LlLvgg4LuMiHsotMGqdw==","shasum":"3b2d353a300b9c540882b811495e70945bcd0f52","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-4.0.1.tgz","fileCount":157,"unpackedSize":104753,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC+6yBFcLFMOPUK3SsOc9DibUlPTLNKTaVm80pA4BbeIgIhALiOW8tzeUMDQtGMl9GT9mPmI/Wes1XPYyBQxAS0/f0N"}]},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_4.0.1_1694539380948_0.8863256103735742"},"_hasShrinkwrap":false},"4.0.2":{"name":"@asemin/nestjs-utils","version":"4.0.2","description":"<p align=\"center\">   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a> </p>","author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"private":false,"license":"UNLICENSED","main":"dist/main.js","scripts":{"prepublishOnly":"npm run build","build":"tsc -p tsconfig.build.json"},"publishConfig":{"cache":"cache/.npm","access":"public"},"repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"dependencies":{"@buildery/error-codes":"^1.1.0","@jira-killer/constants":"^1.0.17","@jira-killer/metadata":"^2.0.3","@nestjs/common":"^10.2.1","@nestjs/config":"^2.0.0","@nestjs/jwt":"^8.0.0","@nestjs/mongoose":"^9.0.3","@nestjs/platform-fastify":"^8.2.6","bcrypt":"^5.0.1","class-validator":"^0.13.2","fastify":"^3.27.0","mongoose":"^6.3.1","ts-md5":"^1.2.11"},"devDependencies":{"@nestjs/cli":"^8.0.0","@nestjs/schematics":"^8.0.0","@types/express":"^4.17.13","@types/node":"^16.0.0","prettier":"^2.3.2","source-map-support":"^0.5.20","ts-loader":"^9.2.3","ts-node":"^10.0.0","tsconfig-paths":"^3.10.1","typescript":"^4.8.4"},"rootDir":"src","gitHead":"f408391eefaee95c486ea10f68d19aac85bcfb3c","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","_id":"@asemin/nestjs-utils@4.0.2","_nodeVersion":"19.6.1","_npmVersion":"9.6.2","dist":{"integrity":"sha512-s/aM+lT6/BW59cYemvqYBi//WG1e4l3jHKujCWI85QLzH7GmqUBCJG5S6D2X7WIw5tHyzkhy7oh1k9rHEhfJyQ==","shasum":"70879df0d1c29744cb9963cc7d00de6bf6360aa9","tarball":"https://registry.npmjs.org/@asemin/nestjs-utils/-/nestjs-utils-4.0.2.tgz","fileCount":73,"unpackedSize":72474,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBiGSwMZZ/pgYR7oJ+EPn9Px63HzHy+lp369MfUSyV67AiBCIq4xJ5bA2fD47eN7JLxCSlwkHdBAc/IHa8XvT1nn4g=="}]},"_npmUser":{"name":"anton.semin","email":"semin240@gmail.com"},"directories":{},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nestjs-utils_4.0.2_1694539906469_0.9592919920142131"},"_hasShrinkwrap":false}},"time":{"created":"2022-04-26T13:35:29.202Z","2.0.0":"2022-04-26T13:35:29.512Z","modified":"2023-09-12T17:31:46.846Z","2.0.1":"2022-04-26T13:57:14.847Z","3.0.0":"2022-04-27T08:07:04.127Z","3.0.1":"2022-04-29T12:54:45.929Z","3.0.2":"2022-04-29T14:35:48.179Z","3.0.3":"2022-04-29T15:35:56.646Z","3.0.4":"2022-04-29T15:37:54.880Z","3.0.5":"2022-05-04T11:28:27.749Z","3.0.6":"2022-05-12T11:30:42.856Z","3.0.7":"2022-05-12T11:48:22.078Z","3.0.8":"2022-05-12T11:52:13.170Z","3.0.9":"2022-05-12T13:12:51.793Z","3.0.10":"2022-05-12T19:06:05.831Z","3.0.11":"2022-05-13T11:35:09.391Z","3.0.12":"2022-05-13T11:43:06.568Z","3.0.13":"2022-05-13T12:06:07.139Z","3.0.14":"2022-05-13T18:09:39.785Z","3.0.15":"2022-05-13T18:22:41.604Z","3.0.16":"2022-05-14T06:57:59.472Z","3.0.17":"2022-05-14T07:45:29.701Z","3.0.18":"2022-05-14T08:52:21.273Z","3.0.19":"2022-05-14T08:58:40.433Z","3.0.20":"2022-05-14T09:11:55.897Z","3.0.21":"2022-05-14T10:02:52.034Z","3.0.23":"2022-05-14T10:56:22.297Z","3.0.24":"2023-08-24T08:24:08.203Z","3.0.25":"2023-08-24T08:25:22.030Z","3.0.26":"2023-08-24T08:27:53.375Z","4.0.0":"2023-09-06T14:42:16.407Z","4.0.1":"2023-09-12T17:23:01.120Z","4.0.2":"2023-09-12T17:31:46.629Z"},"maintainers":[{"name":"anton.semin","email":"semin240@gmail.com"}],"description":"<p align=\"center\">   <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a> </p>","homepage":"https://github.com/AntonSeminski/NestJS_ExceptionHandling#readme","repository":{"type":"git","url":"git+https://github.com/AntonSeminski/NestJS_ExceptionHandling.git"},"author":{"name":"Anton Semin","email":"anton.siaminski@gmail.com"},"bugs":{"url":"https://github.com/AntonSeminski/NestJS_ExceptionHandling"},"license":"UNLICENSED","readme":"<p align=\"center\">\n  <a href=\"http://nestjs.com/\" target=\"blank\"><img src=\"https://nestjs.com/img/logo_text.svg\" width=\"320\" alt=\"Nest Logo\" /></a>\n</p>\n\n[circleci-image]: https://img.shields.io/circleci/build/github/nestjs/nest/master?token=abc123def456\n[circleci-url]: https://circleci.com/gh/nestjs/nest\n\n  <p align=\"center\">A progressive <a href=\"http://nodejs.org\" target=\"_blank\">Node.js</a> framework for building efficient and scalable server-side applications.</p>\n    <p align=\"center\">\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/v/@nestjs/core.svg\" alt=\"NPM Version\" /></a>\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/l/@nestjs/core.svg\" alt=\"Package License\" /></a>\n<a href=\"https://www.npmjs.com/~nestjscore\" target=\"_blank\"><img src=\"https://img.shields.io/npm/dm/@nestjs/common.svg\" alt=\"NPM Downloads\" /></a>\n<a href=\"https://circleci.com/gh/nestjs/nest\" target=\"_blank\"><img src=\"https://img.shields.io/circleci/build/github/nestjs/nest/master\" alt=\"CircleCI\" /></a>\n<a href=\"https://coveralls.io/github/nestjs/nest?branch=master\" target=\"_blank\"><img src=\"https://coveralls.io/repos/github/nestjs/nest/badge.svg?branch=master#9\" alt=\"Coverage\" /></a>\n<a href=\"https://discord.gg/G7Qnnhy\" target=\"_blank\"><img src=\"https://img.shields.io/badge/discord-online-brightgreen.svg\" alt=\"Discord\"/></a>\n<a href=\"https://opencollective.com/nest#backer\" target=\"_blank\"><img src=\"https://opencollective.com/nest/backers/badge.svg\" alt=\"Backers on Open Collective\" /></a>\n<a href=\"https://opencollective.com/nest#sponsor\" target=\"_blank\"><img src=\"https://opencollective.com/nest/sponsors/badge.svg\" alt=\"Sponsors on Open Collective\" /></a>\n  <a href=\"https://paypal.me/kamilmysliwiec\" target=\"_blank\"><img src=\"https://img.shields.io/badge/Donate-PayPal-ff3f59.svg\"/></a>\n    <a href=\"https://opencollective.com/nest#sponsor\"  target=\"_blank\"><img src=\"https://img.shields.io/badge/Support%20us-Open%20Collective-41B883.svg\" alt=\"Support us\"></a>\n  <a href=\"https://twitter.com/nestframework\" target=\"_blank\"><img src=\"https://img.shields.io/twitter/follow/nestframework.svg?style=social&label=Follow\"></a>\n</p>\n  <!--[![Backers on Open Collective](https://opencollective.com/nest/backers/badge.svg)](https://opencollective.com/nest#backer)\n  [![Sponsors on Open Collective](https://opencollective.com/nest/sponsors/badge.svg)](https://opencollective.com/nest#sponsor)-->\n\n## Description\n\nNestjs Exception handling implementation.\nIncludes: \n    * Handler's chain mechanism\n    * Custom exception to inherit from\n    * Implemented Nest JS Validation Exception handler\n\nException structure: \n```\n    {\n        code: \"ERROR:<ENTITY>-<CODE_MESSAGE>\"\n        status: 500,\n        title: \"Error!\",\n        message: 'This was screwed',\n        body: { any info you like }\n    }\n```\n\n[Nest](https://github.com/nestjs/nest) framework TypeScript starter repository.\n\n## Use\n\n# installation\n```bash\n$ npm install @asemin/nestjs-utils\n```\n\n# Handler creation example\nClass must extend ExceptionHandler and implement `handle` method. Method must return HandlerExceptionDto filled.\n```\nexport class MongoExceptionHandler extends ExceptionHandler{\n    handle(exception: any): HandledExceptionDto {\n        if ( !(exception instanceof MongoError) )\n            return this.next?.handle(exception);\n\n        switch (exception.code) {\n            case 11000:\n                return new HandledExceptionDto(getException(CODES.DATABASE.DUPLICATE));\n        }\n\n        return null;\n    }\n}\n```\n\n# handlers chain creation\nEach member must extend ExceptionHandler\n```\nexport const handlersChain = [\n    new MongoExceptionHandler(),\n    new ValidationExceptionHandler(),\n    new CustomExceptionHandler(),\n    new HttpExceptionHandler()\n];\n```\n\n# Nestjs exception filter configuration. main.ts:\n```bash\n    const exceptionFilter = new ExceptionFilter(\n        <ExceptionHandler>createExceptionHandlersChain(handlersChain)\n    );\n\n    app.useGlobalFilters(exceptionFilter);\n```\n\n## Custom exception use\n\n# throwException\nUse one of the codes. Fill free to put any information to body (second param)\nIf there are no code suitable - throw any exception type manually.\n```\nthrowException(CODES.COMMON.EMPTY_PARAM, {method: 'getByPermissionAndPermissionSets', fields: {permissionId, permissionSetIds}})\n```\n\n# getException info\n```\nconst {code, status, message} = getException(CODES.COMMON.UNKNOWN);\n```","readmeFilename":"README.md"}