{"id":21541811,"url":"https://github.com/bencoderus/response-transformer","last_synced_at":"2026-01-30T16:02:56.236Z","repository":{"id":42577961,"uuid":"425542755","full_name":"bencoderus/response-transformer","owner":"bencoderus","description":"Standardizing responses in NodeJS ✨","archived":false,"fork":false,"pushed_at":"2024-12-07T04:15:24.000Z","size":2067,"stargazers_count":0,"open_issues_count":13,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-09-29T23:32:14.836Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bencoderus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-07T15:35:29.000Z","updated_at":"2021-11-08T11:11:17.000Z","dependencies_parsed_at":"2025-04-10T04:32:15.608Z","dependency_job_id":"f1f82b5a-b83e-4eb4-8d9d-ffd85a31495d","html_url":"https://github.com/bencoderus/response-transformer","commit_stats":{"total_commits":20,"total_committers":1,"mean_commits":20.0,"dds":0.0,"last_synced_commit":"0813a551c4d265e35c9cba391b96cb09a79af31f"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/bencoderus/response-transformer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencoderus%2Fresponse-transformer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencoderus%2Fresponse-transformer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencoderus%2Fresponse-transformer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencoderus%2Fresponse-transformer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bencoderus","download_url":"https://codeload.github.com/bencoderus/response-transformer/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bencoderus%2Fresponse-transformer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28914938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-30T12:13:43.263Z","status":"ssl_error","status_checked_at":"2026-01-30T12:13:22.389Z","response_time":66,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-24T05:07:43.762Z","updated_at":"2026-01-30T16:02:56.220Z","avatar_url":"https://github.com/bencoderus.png","language":"TypeScript","readme":"# Response Transformer\n[![npm version](https://badge.fury.io/js/response-transformer.svg)](https://badge.fury.io/js/response-transformer)\n[![GitHub license](https://img.shields.io/github/license/bencoderus/response-transformer)](https://github.com/bencoderus/response-transformer/blob/master/LICENSE)\n[![Build Status](https://app.travis-ci.com/bencoderus/response-transformer.svg?branch=master)](https://app.travis-ci.com/bencoderus/response-transformer)\n\nResponse Transformer helps you standardize your REST API response on NodeJS. It also comes with tons of response methods and functionalities with full Typescript support.\n\n# Getting started\nInstallation using npm\n\n```bash\nnpm i response-transformer --save\n```\n\nInstallation using yarn\n\n```bash\nyarn add response-transformer\n```\n\n# Usage\nES5\n\n```jsx\nconst { okResponse, badRequestResponse } = require('response-transformer')\n```\n\nES6\n\n```jsx\nimport { okResponse, badRequestResponse } from 'response-transformer'\n```\n\nUsing with express\n\n```jsx\nimport express from 'express'\nimport { okResponse, badRequestResponse, validationError, sendResponse, statusCodes } from 'response-transformer'\n\nconst app = express()\n\napp.get('/health-check', (request, response) =\u003e {\n  return okResponse(response, 'Everything looks good', {\n    name: 'Benjamin Iduwe',\n    role: 'Software engineer',\n  })\n})\n\napp.get('check', (request, response) =\u003e {\n  return sendResponse(response, statusCodes.ACCEPTED, 'Received for processing')\n})\n\napp.get('check', (request, response) =\u003e {\n  return validationError(response, 'Validation error', 'Name is required')\n})\n```\n\nReturns\n\n\n200: /health-check\n```json\n{\n    \"status\": true,\n    \"message\": \"Everything looks good\",\n    \"data\": {\n        \"name\": \"Benjamin Iduwe\",\n        \"role\": \"Software engineer\"\n    }\n}\n\n```\n\n202: /check\n```json\n{\n\t\"status\": true,\n\t\"message\": \"Received for processing\",\n}\n```\n\n422: /create\n```json\n{\n\t\"status\": false,\n\t\"message\": \"Validation error\",\n\t\"error\": \"Name is required\",\n}\n```\n\n\n#### Using HttpException to throw Http errors\n```js\nimport { HttpException, statusCodes } from 'response-transformer';\n\nconst getName = (name) =\u003e {\n    if(! name){\n        throw new HttpException('Name is invalid', statusCodes.NOT_FOUND);\n    }\n}\n```\n\n#### HttpException properties \n- Status code: The status code for the exception (error.statusCode).\n- shouldReport: Report only exception for server errors \u003e= 500 (error.shouldReport)\n\n#### Supported status codes\n\n- OK = 200.\n- CREATED = 201.\n- ACCEPTED = 202.\n- NO_CONTENT = 204.\n- BAD_REQUEST = 400.\n- PAYMENT_REQUIRED = 402.\n- UNAUTHORIZED = 401.\n- FORBIDDEN = 403,\n- NOT_FOUND = 404.\n- METHOD_NOT_ALLOWED = 405.\n- CONFLICT = 409.\n- UNPROCESSABLE_ENTITY = 422.\n- SERVER_ERROR = 500.\n- BAD_GATEWAY = 502.\n- SERVICE_UNAVAILABLE = 503.\n- GATEWAY_TIMEOUT = 504.\n\n#### Supported frameworks\n\n1. Express\n2. NestJS\n3. AdonisJS\n4. SailJS\n\n#### Available methods\n```jsx\nokResponse(response, message, data);\n\ncreatedResponse(response, message, data);\n\nbadRequestResponse(response, message, data);\n\nunauthorizedResponse(response, message, data);\n\npaymentRequiredResponse(response, message, data);\n\nforbiddenResponse(response, message, data);\n\nnotFoundResponse(response, message, data);\n\nmethodNotAllowedResponse(response, message, data);\n\nserverErrorResponse(response, message, data);\n\nbadGatewayResponse(response, message, data);\n\nserviceUnavailableResponse(response, message, data);\n\nsendResponse(response, statusCode, message, data);\n```\n# Test\n```bash\nnpm run test\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbencoderus%2Fresponse-transformer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbencoderus%2Fresponse-transformer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbencoderus%2Fresponse-transformer/lists"}