Releases: Kaktushose/proteus
🚀 v0.2.3 | Fix Subtype Pathfinding
🔭 Overview
Fixes:
- input type is subtype of target type
- Interfaces were only considered if no neighbors for super type were found
📄 Docs
You can find the wiki for this version here.
To visit this version's javadocs click here.
📦 Download / Usage
Gradle
repositories {
mavenCentral()
}
dependencies {
implementation("io.github.kaktushose:proteus:0.2.3")
}
Maven
<dependency>
<groupId>io.github.kaktushose</groupId>
<artifactId>proteus</artifactId>
<version>0.2.3</version>
</dependency>
What's Changed
- Fix some subtype cases by @Goldmensch in #20
Full Changelog: v0.2.2...v0.2.3
🚀 v0.2.2 | Fix existsPath
🔭 Overview
Fixes the Proteus#existsPath
method and also improves the String representation of mappers and type definitions.
📄 Docs
You can find the wiki for this version here.
To visit this version's javadocs click here.
📦 Download / Usage
Gradle
repositories {
mavenCentral()
}
dependencies {
implementation("io.github.kaktushose:proteus:0.2.2")
}
Maven
<dependency>
<groupId>io.github.kaktushose</groupId>
<artifactId>proteus</artifactId>
<version>0.2.2</version>
</dependency>
What's Changed
- Add narrowing primitive conversion by @Kaktushose in #16
- Add method to check if a path exists by @Kaktushose in #17
- Fix existsPath failing for unresolved edges and source equals target by @Kaktushose in #18
- Improve string representations by @Kaktushose in #19
Full Changelog: v0.2.0...v0.2.2
🚀 v0.2.0 | Subtype Conversion & API Improvements
🔭 Overview
Brings in support for subtype conversion, changes to the lossless/ lossy API and some API improvements around results. Also a lot of bug fixes.
📄 Docs
You can find the wiki for this version here.
To visit this version's javadocs click here.
📦 Download / Usage
Gradle
repositories {
mavenCentral()
}
dependencies {
implementation("io.github.kaktushose:proteus:0.2.0")
}
Maven
<dependency>
<groupId>io.github.kaktushose</groupId>
<artifactId>proteus</artifactId>
<version>0.2.0</version>
</dependency>
What's Changed
- Change lossless API to use MappingResult instead of Mapper definition by @Kaktushose in #13
- Add primitive wrapping by @Kaktushose in #12
- Add support for subtype conversion by @Kaktushose in #15
- Add convenience methods to ConversionResult
- Always clear callstack correctly
- Allow container conversion for none format
- Make none format static constant
Full Changelog: v0.1.2...v0.2.0
🚀 v0.1.2 | Fix failing conversation if input type equals target type
🔭 Overview
Fix failing conversation if the input type equals the target type
📄 Docs
You can find the wiki for this version here.
To visit this version's javadocs click here.
📦 Download / Usage
Gradle
repositories {
mavenCentral()
}
dependencies {
implementation("io.github.kaktushose:proteus:0.1.2")
}
Maven
<dependency>
<groupId>io.github.kaktushose</groupId>
<artifactId>proteus</artifactId>
<version>0.1.2</version>
</dependency>
What's Changed
- Release 0.1.2 : Fix failing conversation if input type equals target type by @Goldmensch in #10
Full Changelog: v0.1.1...v0.1.2
🚀 v0.1.1 | Add dynamic type
🔭 Overview
This release adds the dynamic type, that resolves from an given Object.
📄 Docs
You can find the wiki for this version here.
To visit this version's javadocs click here.
📦 Download / Usage
Gradle
repositories {
mavenCentral()
}
dependencies {
implementation("io.github.kaktushose:proteus:0.1.1")
}
Maven
<dependency>
<groupId>io.github.kaktushose</groupId>
<artifactId>proteus</artifactId>
<version>0.1.1</version>
</dependency>
v0.1.0 | Initial Release
Overview
This is the first development release of Proteus.
Current API
Proteus proteus = Proteus.global();
// define types and mapper
Type<Integer> integerType = Type.of(Integer.class);
Type<String> stringType = Type.of(String.class);
// register mapper
proteus.map(integerType).to(stringType, Mapper.lossless((source, context) -> MappingResult.success(String.valueOf(source))));
// attempt conversion
ConversionResult<String> result = proteus.convert(0, integerType, stringType);
// check result
switch (result) {
case ConversionResult.Success<String>(String success) -> System.out.println(success);
case ConversionResult.Failure<?> failure -> System.out.println(failure.detailedMessage());
}
Download
Gradle
repositories {
mavenCentral()
}
dependencies {
implementation("io.github.kaktushose:proteus:0.1.0")
}
Maven
<dependency>
<groupId>io.github.kaktushose</groupId>
<artifactId>proteus</artifactId>
<version>0.1.0</version>
</dependency>
Changelog
- first project layout and proof of concept by @Kaktushose in #2
- Unify types and add format interface by @Kaktushose in #3
- improve error handling and error messages by @Kaktushose in #4
- Add user api by @Kaktushose in #5
Full Changelog: https://github.com/Kaktushose/proteus/commits/v0.1.0