UNPKG

name-case-transform

Version:
105 lines (76 loc) 2.33 kB
# 风格转换工具 > name case transform tool 文档:中文 | [English](./README-en.md) - 支持 Pascal、小驼峰、连字符、下划线命名风格互转。 - 支持字符串和 JSON(key)。 ## API ```js caseTransform((dataSource: [String | Object]), (targetCase: String), [(sourceCase: String)]); ``` - dataSource: 想要转换的数据。 - targetCase: 目标命名风格。 - `-`: 连字符命名风格,比如:`my-name`. - `_`: 下划线命名风格, 比如: `my_name`. - `A`: Pascal 命名风格, eg: `MyName`. - `a`: 小驼峰命名风格, eg: `myName`. - 数据源命名风格: 非必须。(程序会自动推断源数据风格,但是判断可能不及预期(多种风格混合)。这个时候,可以指定数据源命名风格。) - `-`: 连字符命名风格,比如:`my-name`. - `_`: 下划线命名风格, 比如: `my_name`. - `A`: Pascal 命名风格, eg: `MyName`. - `a`: 小驼峰命名风格, eg: `myName`. ## 用法 ### 引入 ```js import caseTransform from "name-case-transform"; ``` ### 转换 字符串: ```js let res = caseTransform("my_name", "A"); // MyName; // 指定源数据命名风格 let res = caseTransform("my_name", "A", "_"); // MyName; ``` JSON: ```js let data = { res_code: 4000, res_list: [ { my_name: "admin1", password: "12323", }, { my_name: "admin2", password: "123123", }, ], }; let res = caseTransform(data, "a"); // 指定源数据命名风格 let res = caseTransform(data, "a", "_"); ``` 结果: ```js { resCode:4000, resList:[ { myName:"admin1", password:"12323" }, { myName:"admin2", password:"123123" } ] } ``` ## Q-A 1. 如果几种风格混合在一起,如何自动推断类型?(按照下面先后顺序采用) - 字符串或者 JSON(key)值,包含`_`, 推断为下划线风格("\_")。 - 字符串或者 JSON(key)值,包含`-`, 推断为连字符风格("-")。 - 字符串或者 JSON(key)值,第一个字母为大写,推断为 Pascal 风格。 - 其他情况,推断为小驼峰风格。 ## 其他 ### 兼容性问题 因为程序中多是使用正则,所以在不支持正则的环境将会报错!!!