{"id":20900646,"url":"https://github.com/kotools/types","last_synced_at":"2025-05-13T01:32:33.794Z","repository":{"id":65509021,"uuid":"581475148","full_name":"kotools/types","owner":"kotools","description":"Explicit types for Kotlin Multiplatform.","archived":false,"fork":false,"pushed_at":"2025-05-12T19:01:57.000Z","size":10542,"stargazers_count":97,"open_issues_count":46,"forks_count":6,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-05-12T20:25:42.642Z","etag":null,"topics":["kotlin","kotlin-js","kotlin-jvm","kotlin-library","kotlin-multiplatform","kotlin-multiplatform-library","kotlin-native"],"latest_commit_sha":null,"homepage":"https://types.kotools.org","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kotools.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-12-23T09:45:48.000Z","updated_at":"2025-05-12T19:02:01.000Z","dependencies_parsed_at":"2023-12-31T15:21:05.153Z","dependency_job_id":"d49375ef-fadc-451c-b4c6-13f720698a30","html_url":"https://github.com/kotools/types","commit_stats":null,"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotools%2Ftypes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotools%2Ftypes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotools%2Ftypes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kotools%2Ftypes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kotools","download_url":"https://codeload.github.com/kotools/types/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253854093,"owners_count":21974223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kotlin","kotlin-js","kotlin-jvm","kotlin-library","kotlin-multiplatform","kotlin-multiplatform-library","kotlin-native"],"created_at":"2024-11-18T11:21:13.836Z","updated_at":"2025-05-13T01:32:33.776Z","avatar_url":"https://github.com/kotools.png","language":"Kotlin","readme":"# Kotools Types\n\n[![Kotools Types][kotools-types-badge]][kotools-types-project]\n[![Embedded Kotlin][kotlin-embedded-badge]][kotlin]\n[![Kotlin language][kotlin-language-badge]][kotlin]\n\n[![JVM Platform][jvm-platform-badge]][kotlin/jvm]\n[![JS Platform][js-platform-badge]][kotlin/js]\n[![iOS x64 Platform][ios-x64-platform-badge]][kotlin-native]\n[![iOS Simulator arm64 Platform][ios-simulator-arm64-platform-badge]][kotlin-native]\n[![Linux x64 Platform][linux-x64-platform-badge]][kotlin-native]\n[![macOS x64 Platform][macos-x64-platform-badge]][kotlin-native]\n[![macOS arm64 Platform][macos-arm64-platform-badge]][kotlin-native]\n[![MinGW x64 Platform][mingw-x64-platform-badge]][kotlin-native]\n\n\u003e \"Kool Types for Kotlin Multiplatform.\" -\n\u003e [@jmfayard](https://github.com/jmfayard)\n\nUnlock the true potential of Kotlin's type system across Kotlin/JVM, Kotlin/JS,\nand Kotlin Native platforms with Kotools Types – your comprehensive toolkit for\nexplicit type handling!\n\n[ios-simulator-arm64-platform-badge]: https://img.shields.io/badge/Platform-iOS_Simulator_arm64-4b4bff\n[ios-x64-platform-badge]: https://img.shields.io/badge/Platform-iOS_x64-4b4bff\n[js-platform-badge]: https://img.shields.io/badge/Platform-JS-ff9b00\n[jvm-platform-badge]: https://img.shields.io/badge/Platform-JVM-6bac25\n[kotlin]: https://kotlinlang.org\n[kotlin-embedded-badge]: https://img.shields.io/badge/Embedded_Kotlin-1.9.25-blue?logo=kotlin\n[kotlin-language-badge]: https://img.shields.io/badge/Kotlin_language-1.9-blue?logo=kotlin\n[kotlin-native]: https://kotlinlang.org/docs/native-overview.html\n[kotlin/js]: https://kotlinlang.org/docs/js-overview.html\n[kotlin/jvm]: https://kotlinlang.org/docs/jvm-get-started.html\n[kotlinx.serialization]: https://github.com/Kotlin/kotlinx.serialization\n[kotools-types-badge]: https://img.shields.io/maven-central/v/org.kotools/types?label=Latest\n[kotools-types-project]: https://github.com/kotools/types\n[linux-x64-platform-badge]: https://img.shields.io/badge/Platform-Linux_x64-4b4bff\n[macos-x64-platform-badge]: https://img.shields.io/badge/Platform-macOS_x64-4b4bff\n[macos-arm64-platform-badge]: https://img.shields.io/badge/Platform-macOS_arm64-4b4bff\n[mingw-x64-platform-badge]: https://img.shields.io/badge/Platform-MinGW_x64-4b4bff\n\n## 🚀 Introduction\n\nKotools Types is not just a library; it's your gateway to seamless and\nexpressive type manipulation in Kotlin projects.\nDive into a world where types are your allies, providing clarity, safety, and\nflexibility across diverse Kotlin platforms.\n\n## ⭐️ Key Features\n\n- **Unified Type Handling:** Embrace a unified approach to handling types across\n  platforms, ensuring consistency in your Kotlin/JVM, Kotlin/JS, and Kotlin\n  Native projects.\n- **Enhanced Type Safety:** Fortify your code with explicit types, catching\n  errors at compile time to create robust and reliable applications.\n- **Automatic Serialization:** Seamlessly serialize and deserialize types using\n  [kotlinx.serialization], making data interchange between platforms, APIs, \n  databases and libraries a breeze.\n\n## 🛠️ Installation\n\nYou can add Kotools Types to your project by using Gradle or Maven.\nJust replace the `$version` or the `${kotools.types.version}` variables by the\n[latest version](#kotools-types) or by another one available in the\n[changelog](CHANGELOG.md).\n\n\u003cdetails open\u003e\n\u003csummary\u003eGradle - Kotlin DSL\u003c/summary\u003e\n\n```kotlin\nimplementation(\"org.kotools:types:$version\")\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eGradle - Groovy DSL\u003c/summary\u003e\n\n```groovy\nimplementation \"org.kotools:types:$version\"\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eMaven\u003c/summary\u003e\n\n```xml\n\u003cdependencies\u003e\n    \u003cdependency\u003e\n        \u003cgroupId\u003eorg.kotools\u003c/groupId\u003e\n        \u003cartifactId\u003etypes\u003c/artifactId\u003e\n        \u003cversion\u003e${kotools.types.version}\u003c/version\u003e\n    \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\n\u003c/details\u003e\n\n\u003e See [the dedicated documentation](subprojects/kotlinx-serialization/README.md)\n\u003e for serializing types from the `org.kotools.types` package using the\n\u003e [kotlinx.serialization] library. \n\n## 🎨 Included types\n\nExplore some of the types offered by this library:\n\n- [NotBlankString][kotools.types.text.NotBlankString] ensuring that your strings\n  have at least one character excluding whitespaces.\n- [PositiveInt][kotools.types.number.PositiveInt] representing an integer number\n  of type [Int][kotlin.Int] that is greater than or equals zero.\n- [NotEmptyList][kotools.types.collection.NotEmptyList] for grouping your data\n  in a list with at least one element.\n\nSee the [API reference](https://types.kotools.org) for more types!\n\n[kotlin.Int]: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int\n[kotools.types.collection.NotEmptyList]: https://types.kotools.org/types/kotools.types.collection/-not-empty-list/index.html\n[kotools.types.number.PositiveInt]: https://types.kotools.org/types/kotools.types.number/-positive-int/index.html\n[kotools.types.text.NotBlankString]: https://types.kotools.org/types/kotools.types.text/-not-blank-string/index.html\n\n## 📝 Documentation\n\nHere's additional documentation for learning more about this project:\n\n- [Design goals](documentation/design-goals.md)\n- [Versioning strategy](documentation/versioning-strategy.md)\n- [Dependency compatibility](documentation/dependencies.md)\n- [Declarations lifecycle](documentation/declarations-lifecycle.md)\n- [Security Policy](SECURITY.md)\n\n## 🤝 Community\n\nJoin our thriving community! Connect, share insights, and collaborate with\nfellow developers to make Kotools Types even more powerful.\n\n- [GitHub Discussions](https://github.com/kotools/types/discussions)\n- [#kotools on Kotlin Slack](https://kotlinlang.slack.com/archives/C05H0L1LD25)\n\n## 📣 Show Your Support\n\nIf you find this project valuable, show your support by giving us a ⭐️ on\nGitHub.\nYour feedback and engagement mean the world to us!\n\n## 🚧 Contributing\n\nAs an Open-Source project, Kotools Types is in need of new contributors!\nWe have issues suited for all levels, from entry to advanced.\nAll are welcome in this project.\n\nIf you are looking to contribute, check out our\n[contribution guidelines](CONTRIBUTING.md) for more details on how to get\nstarted.\n\n## 🙏 Acknowledgements\n\nThanks to [Loïc Lamarque](https://github.com/LVMVRQUXL) for creating and sharing \nthis project with the open source community.\n\nThanks to all the [people that ever contributed](https://github.com/kotools/types/graphs/contributors)\nthrough code or other means such as bug reports, feature suggestions and so on.\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE.txt).\n\n---\n\nHappy coding with Kotools Types! 🎉\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkotools%2Ftypes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkotools%2Ftypes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkotools%2Ftypes/lists"}