--- category: '@Integrations' --- # useChangeCase Reactive wrapper for [`change-case`](https://github.com/blakeembrey/change-case). Subsitutes `useCamelCase`, `usePascalCase`, `useSnakeCase`, `useSentenceCase`, `useCapitalize`, etc. ## Install ```bash npm i change-case@^5 ``` ## Usage ```ts import { useChangeCase } from '@vueuse/integrations/useChangeCase' // `changeCase` will be a computed const changeCase = useChangeCase('hello world', 'camelCase') changeCase.value // helloWorld changeCase.value = 'vue use' changeCase.value // vueUse // Supported methods // export { // camelCase, // capitalCase, // constantCase, // dotCase, // headerCase, // noCase, // paramCase, // pascalCase, // pathCase, // sentenceCase, // snakeCase, // } from 'change-case' ``` or passing a `ref` to it, the returned `computed` will change along with the source ref's changes. Can be passed into `options` for customization ```ts import { useChangeCase } from '@vueuse/integrations/useChangeCase' import { shallowRef } from 'vue' const input = shallowRef('helloWorld') const changeCase = useChangeCase(input, 'camelCase', { delimiter: '-', }) changeCase.value // hello-World input.value = 'vue use' changeCase.value // vue-Use ``` ## Type Declarations ```ts type EndsWithCase = T extends `${infer _}Case` ? T : never type FilterKeys = { [K in keyof T as K extends string ? K : never]: EndsWithCase } type ChangeCaseKeys = FilterKeys export type ChangeCaseType = ChangeCaseKeys[keyof ChangeCaseKeys] export declare function useChangeCase( input: MaybeRef, type: MaybeRefOrGetter, options?: MaybeRefOrGetter | undefined, ): WritableComputedRef export declare function useChangeCase( input: MaybeRefOrGetter, type: MaybeRefOrGetter, options?: MaybeRefOrGetter | undefined, ): ComputedRef ```