Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
bsorrentino committed Aug 26, 2017
1 parent 9cec67c commit 96e4b11
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 24 deletions.
50 changes: 30 additions & 20 deletions processor/src/main/java/org/bsc/processor/TypescriptHelper.java
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
package org.bsc.processor;

import static java.lang.String.format;

import java.beans.PropertyDescriptor;
import java.io.Closeable;
import java.io.Serializable;
import java.lang.reflect.Type;
import java.lang.reflect.TypeVariable;
import java.util.Arrays;
import java.util.function.Supplier;
import java.util.stream.Collectors;
import java.util.stream.Stream;
import static java.lang.String.format;

public interface TypescriptHelper {

Expand Down Expand Up @@ -77,14 +77,13 @@ static String getClassDecl( Class<?> type,

}

static String getClassParametersDecl( final TypeVariable<? extends Class<?>> parameters[] ) {
static String getClassParametersDecl( java.util.List<String> type_parameters_list ) {

if( parameters.length == 0 ) return "";
if( type_parameters_list.isEmpty() ) return "";

final StringBuilder decl = new StringBuilder(

Arrays.stream(parameters)
.map( (t) -> t.getName() )
type_parameters_list.stream()
.reduce( "<", (a, b) -> {

return new StringBuilder(a)
Expand All @@ -96,13 +95,17 @@ static String getClassParametersDecl( final TypeVariable<? extends Class<?>> par

);
decl.deleteCharAt( decl.length()-1 ).append('>');


return decl.toString();

return decl.toString();
}

static String getClassParametersDecl( Class<?> type ) {
return getClassParametersDecl(type.getTypeParameters());
static String getClassParametersDecl( Class<?> type ) {

return getClassParametersDecl(
Arrays.stream(type.getTypeParameters())
.map( (tp) -> tp.getName() )
.collect(Collectors.toList())
);
}

static String getSimpleName( Class<?> type ) {
Expand All @@ -124,20 +127,27 @@ static String getName( Type type, Class<?> declaringClass ) throws ClassNotFound
static String getName( Class<?> type, Class<?> declaringClass ) {
final Package currentNS = declaringClass.getPackage();

final TypeVariable<? extends Class<?>>[] dc = declaringClass.getTypeParameters();

final TypeVariable<? extends Class<?>> type_parameters[] = type.getTypeParameters();

final java.util.List<String> dc_parameters_list =
Arrays.stream(declaringClass.getTypeParameters())
.map( (tp) -> tp.getName())
.collect(Collectors.toList());

final java.util.List<String> type_parameters_list =
Arrays.stream(type.getTypeParameters())
.map( (tp) -> (dc_parameters_list.contains(tp.getName()) ) ? tp.getName() : "any" )
.collect(Collectors.toList());

final java.util.List<String> parameters =
dc_parameters_list.size() == type_parameters_list.size() ? dc_parameters_list : type_parameters_list ;


return new StringBuilder()
.append(
type.getPackage().equals(currentNS) ?
type.getSimpleName() :
type.getName()
)
.append(getClassParametersDecl((dc.length == type_parameters.length) ?
dc :
type_parameters
))
.append( getClassParametersDecl(parameters) )
.toString();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,10 +160,11 @@ private String getMethodDecl( final Method m, java.util.Map<String, Class<?>> de

if( params.length > 0 ) {
Arrays.stream(params)
.forEach( (tp) -> sb.append( tp.getName())
.append(':')
.append( convertJavaToTS(tp.getType(),m.getDeclaringClass(),declaredClassMap) )
.append(",")
.forEach( (tp) ->
sb.append( tp.getName())
.append(':')
.append( convertJavaToTS(tp.getType(),m.getDeclaringClass(),declaredClassMap) )
.append(",")
);
sb.deleteCharAt( sb.length()-1 );
}
Expand Down

0 comments on commit 96e4b11

Please sign in to comment.