Skip to content

Releases: Kaktushose/proteus

🚀 v0.2.3 | Fix Subtype Pathfinding

16 Jun 14:34
Compare
Choose a tag to compare

🔭 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

Full Changelog: v0.2.2...v0.2.3

🚀 v0.2.2 | Fix existsPath

08 Jun 19:42
Compare
Choose a tag to compare

🔭 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

Full Changelog: v0.2.0...v0.2.2

🚀 v0.2.0 | Subtype Conversion & API Improvements

04 Jun 15:58
Compare
Choose a tag to compare

🔭 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

18 May 21:41
252ba61
Compare
Choose a tag to compare

🔭 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

18 May 14:19
Compare
Choose a tag to compare
Pre-release

🔭 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

11 May 12:49
Compare
Choose a tag to compare
Pre-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

Full Changelog: https://github.com/Kaktushose/proteus/commits/v0.1.0