Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 1x 1x 3x 1x 21x 1x 9x 1x 1x 1x 4x 4x 2x 2x 4x 1x 1x 1x 1x 1x 2x 2x 2x 1x 1x | import {toCamel, toSnake} from "./string";
/**
* 文字列や null/undefined を undefined に寄せる。
* API送信時に「値なしを消したい」ケース向け。
*/
export const emptyToUndef = (v: unknown): any =>
v === null || v === undefined || v === '' ? undefined : v
/**
* 文字列や undefined を null に寄せる。
* フォーム入力(未選択や空入力)で null に統一したいケース向け。
*/
export const emptyToNull = (v: unknown): any =>
v === null || v === undefined || v === '' ? null : v
/**
* nullやundefinedを空文字に寄せる
* 必須入力だが初期値がnullになり得るフォーム項目の前処理
* @param v
*/
export const nullToEmpty = (v: unknown): any =>
v === null || v === undefined ? '' : v
// オブジェクトのキーを camel → snake に変換
export const toSnakeKeys = (obj: Record<string, any>) => {
const result: Record<string, any> = {}
for (const key of Object.keys(obj)) {
const value = obj[key]
if (value !== undefined && value !== null) {
result[toSnake(key)] = value
}
}
return result
}
// オブジェクトのキーを snake → camel に変換
export const toCamelKeys = (obj: Record<string, any>) => {
const result: Record<string, any> = {}
for (const key of Object.keys(obj)) {
const value = obj[key]
result[toCamel(key)] = value
}
return result
}
|