UNPKG

axios-case-converter

Version:

Axios transformer/interceptor that converts snake_case/camelCase

30 lines (26 loc) 783 B
import { PreserveArrayBrackets, PreservedKeysCondition, PreserveSpecificKeys, Transformer, } from "./types"; export const preserveArrayBrackets: PreserveArrayBrackets = (fn) => { return (input, options?): ReturnType<ReturnType<PreserveArrayBrackets>> => { return fn(input, { stripRegexp: /[^A-Z0-9[\]]+/gi, ...options, }); }; }; export const preserveSpecificKeys: PreserveSpecificKeys = ( fn: Transformer, keys: string[] | PreservedKeysCondition ) => { const condition: PreservedKeysCondition = typeof keys === "function" ? keys : (input): boolean => keys.includes(input); return (input, options?): ReturnType<ReturnType<PreserveSpecificKeys>> => { return condition(input, options) ? input : fn(input, options); }; };