Cara mengonversikan snake case ke camel case di adonis
Pada umumnya, konvensi standar penamaan variable ada 4:1. camelCase2. snake_case3. PascalCase4. kebab-caseSebenarnya untuk semua konvensi ini, mengacu pada tujuan yang sama, untuk menghindari penggunaan spasi (" ") untuk sebuah variable, karena beberapa bahasa pemograman ataupun aplikasi ada limitasi ini. Tapi kita sebagai developer, tetap ingin membuat penamaan variable yang gampang dan jelas, namun tetap bisa dibaca. Maka mulailah konvensi ini dipakai sesuai kebutuhan.Walaupun sekarang ini banyak bahasa yang mulai menggunakan camelCase sebagai acuan standar koding mereka, bahkan database pun tidak masalah antara menggunakan camelCase atau snakeCase, karena di database terutama SQL, case sensitivity tidak masalah untuk nama kolom, jadi misal kita akan membuat nama kolom firstName, lalu firstname, FirstName ataupun semua huruf besar FIRSTNAME, semua kondisi adalah valid. Namun ini kembali lagi ke sistem operasi yang dipakai, SQL di unix merupakan case-sensitive yang mana huruf besar kecil akan sangat berpengaruh, tapi sebaliknya di windows. Dan juga karena di database, ada sebuah konsep "folding" atau mengubah nama table menjadi huruf kecil semua, sehingga kapitalisasi yang ada di camelCase, PascalCase tidak berarti lagi.Kesimpulannya, agar penamaan tidak menyebabkan masalah karena sistem operasi, ataupun lainnya, dan juga agar lebih mudah dibaca dan ditelusuri apabila ada kesalahan, maka snake_case lebih umum dipakai untuk penamaan table dan kolom di database SQL.source:
sebuah file baru akan terbuat di folder /App/Transformer, didalam file tersebut akan ada function transform, disinilah kita akan membuat representasi layer model dengan logic business yang diperlukan
contoh isi file UserTransform sesuai dokumentasi:
const BumblebeeTransformer =
{
return id: modelid
firstname: modelfirst_name lastname: modellast_name
}
}
moduleexports = UserTransformer
Cara menggunakannya pun cukup mudah, di controller ketika kalian merefer object dari model, cukup
const users = await Userallreturn transform
** gunakan transform.item untuk per row data, bisa merefer ke dokumentasi transformer adonis bumblebee untuk penggunaan lainnya
Selamat mencoba! Pembetulan / koreksi silakan langsung di komentar :)

Comments
Post a Comment