1.2.5 • Published 3 years ago

koa-change-case v1.2.5

Weekly downloads
124
License
MIT
Repository
-
Last release
3 years ago

Koa change case

Expansible Koa middleware for converting objects in context

Use

import Koa from "koa";
import { snakeCase, camelCase, requestBody, responseBody } from "koa-change-case";
import bodyParser from "koa-bodyparser";

const app = new Koa();

app.use(bodyParser())
app.use(camelCase(requestBody))

// Set your middlewares

app.use(snakeCase(responseBody))

Expansion

Convert custom type

import { ConvertProcessor, Converter, snakeCase } from "koa-change-case";

class MapConvertProcessor
  implements ConvertProcessor<Map<unknown, unknown>, Map<unknown, unknown>> {
  constructor(private readonly changeCase: (name: string) => string) {}

  convert(
    map: Map<unknown, unknown>,
    converter: Converter
  ): Map<unknown, unknown> {
    const newMap = new Map<unknown, unknown>();
    map.forEach((value, key) => {
      const convertedKey = typeof key !== "string" ? key : this.changeCase(key);
      newMap.set(convertedKey, converter.convert(value));
    });

    return newMap;
  }

  isConvertible(value: unknown): boolean {
    return value instanceof Map;
  }
}

snakeCase.register(new MapConvertProcessor(snakeCase.changeCase))

Convert other convention

import { toMiddlewareFactory, createDefaultConverterManager } from "koa-change-case";

const toOtherCase: (key: string) => string // TODO(implement) 

const otherCase = toMiddlewareFactory(
  createDefaultConverterManager(toOtherCase)
);
1.2.5

3 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.2.1

4 years ago

1.2.0

4 years ago

1.1.1

4 years ago

1.1.2

4 years ago

1.1.0

4 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago

1.0.0-alpha.1

5 years ago

1.0.0-alpha.0

5 years ago