Skip to content

useChangeCase

Category
Export Size
386 B
Package
@vueuse/integrations
Last Changed
2 months ago

Reactive wrapper for change-case.

Subsitutes useCamelCase, usePascalCase, useSnakeCase, useSentenceCase, useCapitalize, etc.

Demo

helloWorld
Available in the @vueuse/integrations add-on.

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
> =
T
extends `${infer
_
}Case` ?
T
: never
type
FilterKeys
<
T
> = {
[
K
in keyof
T
as
K
extends string ?
K
: never]:
EndsWithCase
<
K
>
} type
ChangeCaseKeys
=
FilterKeys
<typeof changeCase>
export type
ChangeCaseType
=
ChangeCaseKeys
[keyof
ChangeCaseKeys
]
export declare function
useChangeCase
(
input
:
MaybeRef
<string>,
type
:
MaybeRefOrGetter
<
ChangeCaseType
>,
options
?:
MaybeRefOrGetter
<
Options
> | undefined,
):
WritableComputedRef
<string>
export declare function
useChangeCase
(
input
:
MaybeRefOrGetter
<string>,
type
:
MaybeRefOrGetter
<
ChangeCaseType
>,
options
?:
MaybeRefOrGetter
<
Options
> | undefined,
):
ComputedRef
<string>

Source

SourceDemoDocs

Contributors

Anthony Fu
Anthony Fu
IlyaL
IlyaL
SerKo
Robin
David Vallejo
wheat
Doctorwu
丶远方
Toni Engelhardt
sun0day
Curt Grimes
马灿

Changelog

v13.6.0 on
d32f8 - refactor: add @__NO_SIDE_EFFECTS__ annotations to all pure functions (#4907)
v12.8.0 on
7432f - feat(types): deprecate MaybeRef and MaybeRefOrGetter in favor of Vue's native (#4636)
v12.3.0 on
59f75 - feat(toValue): deprecate toValue from @vueuse/shared in favor of Vue's native
v12.0.0-beta.1 on
0a9ed - feat!: drop Vue 2 support, optimize bundles and clean up (#4349)
v11.0.0-beta.3 on
5c598 - fix: use the exported key for filter (#4130)
v11.0.0-beta.1 on
df343 - feat!: migrate to change-case@v5, closes #3457 (#3460)

Released under the MIT License.

Build faster with AI
New Masterclass to help you leverage AI in your Vue workflow
Get Early Access