Error Extending OpenedPosition with StrategyType
export class OpenedPosition extends Schema.Class<OpenedPosition>("OpenedPosition")({
id: Schema.String,
strategyId: Schema.String,
pair: TradingPair,
exchange: Schema.String,
positionType: PositionType,
baseAmount: Schema.Number,
leverage: Schema.Number,
effectiveAmount: Schema.Number,
quoteAmount: Schema.Number,
entryPrice: Schema.Number,
liquidationPrice: Schema.Number,
openedAt: Schema.DateTimeUtc,
}) {}
export const OpenedPositionEnriched = OpenedPosition.pipe(
Schema.extend(
Schema.Union(
Schema.Struct({
strategyType: Schema.Literal("ai"),
}),
Schema.Struct({
strategyType: Schema.Literal("simple")
})
)
)
)export class OpenedPosition extends Schema.Class<OpenedPosition>("OpenedPosition")({
id: Schema.String,
strategyId: Schema.String,
pair: TradingPair,
exchange: Schema.String,
positionType: PositionType,
baseAmount: Schema.Number,
leverage: Schema.Number,
effectiveAmount: Schema.Number,
quoteAmount: Schema.Number,
entryPrice: Schema.Number,
liquidationPrice: Schema.Number,
openedAt: Schema.DateTimeUtc,
}) {}
export const OpenedPositionEnriched = OpenedPosition.pipe(
Schema.extend(
Schema.Union(
Schema.Struct({
strategyType: Schema.Literal("ai"),
}),
Schema.Struct({
strategyType: Schema.Literal("simple")
})
)
)
)Why this gives:
Error: Unsupported schema or overlapping types
details: cannot extend OpenedPosition with { readonly strategyType: "ai" }Error: Unsupported schema or overlapping types
details: cannot extend OpenedPosition with { readonly strategyType: "ai" }