Home

Awesome

<p> <a href="https://codecov.io/github/alice-health/ky-hooks-change-case"><img src="https://img.shields.io/codecov/c/github/alice-health/ky-hooks-change-case.svg?sanitize=true" alt="Coverage Status"></a> </p>

ky hooks change case

Allow modifications cases on requests and responses of the objects during the ky request

Install

NPM
$ npm install @alice-health/ky-hooks-change-case
CDN

unpkg

Usage

import ky from "ky";
import {
  requestToSnakeCase,
  responseToCamelCase,
} from "@alice-health/ky-hooks-change-case";

ky.post(`${server.url}/path`, {
  json: { fooBar: true },
  hooks: {
    beforeRequest: [requestToSnakeCase],
    afterResponse: [responseToCamelCase],
  },
});

In the example above, the requestToSnakeCase method will convert the resquest body from {fooBar: true} to {foo_bar: true} and the response from {response_body: false} to {responseBody: false}. This way, the frontend and the backend API can each define their independent style guide.

API

Before request hooks

requestToSnakeCase

Convert the request body keys objects to snake_case.

requestToCamelCase

Convert the request body keys objects to camelCase.

requestToKebabCase

Convert the request body keys objects to kebab-case.

After response hooks

responseToSnakeCase

Convert the response body keys objects to snake_case.

responseToCamelCase

Convert the response body keys objects to camelCase.

responseToKebabCase

Convert the response body keys objects to kebab-case.

Browser support

The latest version of Chrome, Firefox, and Safari.

Related

ky 🌳 Tiny & elegant HTTP client based on window.fetch