33 lines
859 B
TypeScript
33 lines
859 B
TypeScript
|
class ClassA<TEntityClass> {
|
||
|
constructor(private entity?: TEntityClass, public settings?: SettingsInterface<TEntityClass>) {
|
||
|
|
||
|
}
|
||
|
}
|
||
|
export interface ValueInterface<TValueClass> {
|
||
|
func?: (row: TValueClass) => any;
|
||
|
value?: string;
|
||
|
}
|
||
|
export interface SettingsInterface<TClass> {
|
||
|
values?: (row: TClass) => ValueInterface<TClass>[],
|
||
|
}
|
||
|
class ConcreteClass {
|
||
|
theName = 'myClass';
|
||
|
}
|
||
|
|
||
|
var thisGetsTheFalseError = new ClassA(new ConcreteClass(), {
|
||
|
values: o => [
|
||
|
{
|
||
|
value: o.theName,
|
||
|
func: x => 'asdfkjhgfdfghjkjhgfdfghjklkjhgfdfghjklkjhgfghj'
|
||
|
}
|
||
|
]
|
||
|
});
|
||
|
|
||
|
var thisIsOk = new ClassA<ConcreteClass>(new ConcreteClass(), {
|
||
|
values: o => [
|
||
|
{
|
||
|
value: o.theName,
|
||
|
func: x => 'asdfkjhgfdfghjkjhgfdfghjklkjhgfdfghjklkjhgfghj'
|
||
|
}
|
||
|
]
|
||
|
});
|