import { Actual, All, MaybeMessage, Message, Of } from "silentium"; /** * Boolean source what checks what string matches pattern * https://silentium-lab.github.io/silentium-components/#/system/regexp-matched */ export function RegexpMatched( patternSrc: MaybeMessage, valueSrc: MaybeMessage, flagsSrc: MaybeMessage = Of(""), ) { const $pattern = Actual(patternSrc); const $value = Actual(valueSrc); const $flags = Actual(flagsSrc); return Message(function RegexpMatchedImpl(r) { All($pattern, $value, $flags).then(function regexpMatchedAllSub([ pattern, value, flags, ]) { r(new RegExp(pattern, flags).test(value)); }); }); }