Created
January 27, 2018 15:50
-
-
Save pramoth/970e37095bd459b668993b8c3dcccfcb to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<plugin> | |
<groupId>cz.habarta.typescript-generator</groupId> | |
<artifactId>typescript-generator-maven-plugin</artifactId> | |
<version>1.29.366</version> | |
<executions> | |
<execution> | |
<id>generate</id> | |
<goals> | |
<goal>generate</goal> | |
</goals> | |
<configuration> | |
<jsonLibrary>jackson2</jsonLibrary> | |
<customTypeMappings> | |
<!-- แมปคลาสเหล่านี้เป็น any --> | |
<mapping>java.util.Date:any</mapping> | |
<mapping>java.time.LocalDate:any</mapping> | |
<mapping>java.time.LocalDateTime:any</mapping> | |
</customTypeMappings> | |
<classPatterns> | |
<!-- domain model ของเรา ที่ต้องการ gen--> | |
<pattern>th.co.geniustree.hitap.humanresources.model.**</pattern> | |
<pattern>th.co.geniustree.hitap.humanresources.dto.**</pattern> | |
<pattern>th.co.geniustree.hitap.humanresources.projection.**</pattern> | |
</classPatterns> | |
<classes> | |
<!-- รวมคลาสเหล่านี้จาก Spring data JPA ด้วย --> | |
<class>org.springframework.data.domain.Page</class> | |
<class>org.springframework.data.domain.Slice</class> | |
</classes> | |
<excludeClassPatterns> | |
<!-- คลาสที่เป็น JPA static metamodel เราไม่ต้องการ เนื่องจากใช้หลังบ้าน --> | |
<pattern>**.**_</pattern> | |
</excludeClassPatterns> | |
<excludeClasses> | |
<!-- คลาส Sort ของ Spring Data JPA เราก็ไม่เอา เนื่องจากเราใช้ get param --> | |
<class>org.springframework.data.domain.Sort</class> | |
<class>java.io.Serializable</class> | |
<class>java.lang.Iterable</class> | |
</excludeClasses> | |
<!-- ไฟล์ output --> | |
<outputFile>src/main/web/src/generated-model/model.d.ts</outputFile> | |
<!-- มีหลายแบบ ดูในเวบของ plugin --> | |
<outputKind>module</outputKind> | |
<!-- อันนี้สำคัญ เนื่องจากหากไม่ใช้ optional เราจะไม่สามารถ new/object literal ได้เลยถ้า properties ไม่ครบตาม interface ระบุ ก็เพราะมัน typesafe อ่ะนะ --> | |
<optionalProperties>all</optionalProperties> | |
</configuration> | |
</execution> | |
</executions> | |
</plugin> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment