naming-transform
Doc
/** * * 将 source 中的 Object 的 keys 的命名风格全部转换成指定的 naming 命名风格 * * @param * @param * * @param * 命名风格,支持 camel, kebab, snake,或自定义方法 * * 如果指定了函数,函数得到的参数会是 (key, deep, currentObject),函数需要返回 newKey * 如果函数返回 false,则忽略更新此时的 key, * * @return */
Usage
const transform = ; // default transform to camelCase; // => {fooBar: 'x'} // transform to snakeCase; // => {foo_bar: 'x'} // support `deep` option, default will transform all nested object; // => {aB: {bC: 'x'}}; // => {aB: {b_c: 'x'}}
Other useful tools
defensive
保证当 key 不存在,而直接取时,报出错误
creating-defensive-objects-with-es6-proxies
typeSafe
保证 key 上的 value 的类型不会变