17 lines
549 B
TypeScript
17 lines
549 B
TypeScript
import { AbTestBlock, SessionState } from '@typebot.io/schemas'
|
|
import { ExecuteLogicResponse } from '../../../types'
|
|
|
|
export const executeAbTest = (
|
|
_: SessionState,
|
|
block: AbTestBlock
|
|
): ExecuteLogicResponse => {
|
|
const aEdgeId = block.items[0].outgoingEdgeId
|
|
const random = Math.random() * 100
|
|
if (random < block.options.aPercent && aEdgeId) {
|
|
return { outgoingEdgeId: aEdgeId }
|
|
}
|
|
const bEdgeId = block.items[1].outgoingEdgeId
|
|
if (bEdgeId) return { outgoingEdgeId: bEdgeId }
|
|
return { outgoingEdgeId: block.outgoingEdgeId }
|
|
}
|