@prunus/humps
v0.0.1
Published
Created in order to facilitate the conversion of properties and strings according to the adopted naming convention, equally humps. But with a difference that is the possibility to use the typescript string typing inserted in version 4.1.
Downloads
35
Readme
Prunus Humps
Created in order to facilitate the conversion of properties and strings according to the adopted naming convention, equally humps. But with a difference that is the possibility to use the typescript string typing inserted in version 4.1.
Installation
yarn add @prunus/humpsUsage
Convert strings
import { camelize, pascalize, separatorlize } from '@prunus/humps'
camelize( 'hello_world' ) // helloWorld
camelize( 'HelloWorld' ) // helloWorld
pascalize( 'hello_world' ) // HelloWorld
pascalize( 'helloWorld' ) // HelloWorld
separatorlize( 'helloWorld' ) // hello_world
separatorlize( 'HelloWorld' ) // hello_worldConvert object properties
import { camelizeKeys } from '@prunus/humps'
const object = { attr_one: 'foo', AttrTwo: 'bar' }
const camelizeObject = camelizeKeys( object ) // { attrOne: 'foo', attrTwo: 'bar' }import { separatorlizeKeys } from '@prunus/humps'
const object = { attrOne: 'foo', attrTwo: 'bar' }
const separatorlizeObject = separatorlizeKeys( object ) // { attr_one: 'foo', attr_two: 'bar' }import { separatorlizeKeys } from '@prunus/humps'
const object = { attrOne: 'foo', attrTwo: 'bar' }
const separatorlizeObject = separatorlizeKeys( object, '-' ) // { 'attr-one': 'foo', 'attr-two': 'bar' }Convert string types
import { Camelize, Pascalize, Separatorlize } from '@prunus/humps'
type CamelizeString = Camelize<'oh_typescript_definitions'> // ohTypescriptDefinitions
type PascalizeString = Pascalize<'oh_typescript_definitions'> // OhTypescriptDefinitions
type SeparatorlizeString = Separatorlize<'ohTypescriptDefinitions'> // oh_typescript_definitions
type SeparatorlizeStringWithHyphen = Separatorlize<'ohTypescriptDefinitions', '-'> // oh-typescript-definitionsConvert object types or interfaces
import { CamelizeKeys } from '@prunus/humps'
interface UglyObject {
PascalCaseProperty: any
snake_case_property: any
'hyphen-case-property': any
}
type PrettyObject = CamelizeKeys<UglyObject>
/* {
pascalCaseProperty: any
snakeCaseProperty: any
hyphenCaseProperty: any
} */