Typescript icon indicating copy to clipboard operation
Typescript copied to clipboard

add: menambahkan materi `Decorators` di `TypescriptBasic`

Open Mednoob opened this issue 2 years ago • 4 comments

Deskripsi (Description)

Materi yang saya ingin tambahkan pada PR ini adalah materi Decorator. Materi ini masih dalam tahap pengerjaan/draft Hal-hal yang perlu diselesaikan:

  • [x] mencari cara agar dapat dilakukan testing (Babel tidak dapat meng-compile decorator secara langsung)
  • [ ] menuliskan comment pada file materi (Decorators.ts)
  • [ ] menuliskan README

==============================================

  • [ ] saya menambahkan algoritma terbaru
  • [ ] saya memperbaiki algoritma yang sudah ada
  • [ ] saya memperbaiki dokumentasi
  • [x] saya menambah dokumentasi

Contributor Requirements (Syarat Kontributor)

  • [x] saya sudah membaca (i have read) CONTRIBUTING dan sudah menyetujui semua
  • [x] saya menggunakan bahasa indonesia untuk memberikan penjelasan dari kode yang saya buat

Environment

saya menggunakan (im used):

  • os = windows

Testing

  • [x] lint testing eslint

Maintainer

maintainer typescript @bellshade/typescript-team

Mednoob avatar Mar 11 '22 06:03 Mednoob

Untuk decorators saya baru sadar ternyata butuh dinyalakan di tsconfig.json, saya nyalakan dulu

ikr4-m avatar Mar 18 '22 21:03 ikr4-m

Sayangnya, untuk di Jest sendiri belum ada cara untuk mengecek apakah Decorator berfungsi apa tidak, tapi setidaknya bisa kita coba metode ini: https://stackoverflow.com/questions/39112921/unit-testing-typescript-decorators

ikr4-m avatar Mar 18 '22 22:03 ikr4-m

Setelah saya cari-cari di google, ternyata cara menggunakan @babel/plugin-proposal-decorators di file babel.config.js adalah dengan mengimport pluginnya (require('@babel/plugin-proposal-decorators').default), set option legacy ke true, dan ditaruh di property plugins

Img (Abaikan garis merah, sepertinya TS di saya ngebug wkwkwk)

Mednoob avatar Mar 19 '22 02:03 Mednoob

Setelah saya cari-cari di google, ternyata cara menggunakan @babel/plugin-proposal-decorators di file babel.config.js adalah dengan mengimport pluginnya (require('@babel/plugin-proposal-decorators').default), set option legacy ke true, dan ditaruh di property plugins

Img (Abaikan garis merah, sepertinya TS di saya ngebug wkwkwk)

Untuk ini, saya sudah coba untuk melakukannya, namun sayangnya ngebug karena mesti import @babel/plugin-proposal-decorators padahal udah dimasukkan. Bisa dicek pada commit 4055fc5425ae60037dc3c1b27d6af3ec66fd19a4 dan di sini semisal ingin referensinya.

ikr4-m avatar Mar 24 '22 15:03 ikr4-m