module /** */ import { ImplicitParjser , ParjsCombinator } from "../../index" ; import { defineCombinator } from "./combinator" ; import { qthen , thenq } from "./then" ; import { ScalarConverter } from "../scalar-converter" ; param pre param post export function between < T > ( pre , post ) ; param surrounding export function between < T > ( surrounding ) ; export function between < T > ( implPre , implPost ? ) { implPost = implPost || implPre ; let pre = ScalarConverter . convert ( implPre ) ; let post = ScalarConverter . convert ( implPost ) ; return defineCombinator ( source => { return pre . pipe ( qthen ( source ) , thenq ( post ) ) ; } ) ; }