import { __ as block } from 'bs-platform/lib/es6/block'; import { talkbackPlaceholder } from './Wonka_helpers.bs'; import { talkbackT, signalT } from '../Wonka_types.gen'; type talkbackCb = (tb: talkbackT) => void; export const pull = (0 as any as talkbackT); export const close = (1 as any as talkbackT); export const start = (tb: talkbackCb): signalT => block(0, [tb]) as any; export const push = (x: a): signalT => block(1, [x]) as any; export const end = (): signalT => 0 as any; export const isStart = (s: signalT) => typeof s !== 'number' && (s as any).tag === 0; export const isPush = (s: signalT) => typeof s !== 'number' && (s as any).tag === 1; export const isEnd = (s: signalT) => typeof s === 'number' && (s as any) === 0; export const unboxPush = (s: signalT): a | null => isPush(s) ? (s as any)[0] : null; export const unboxStart = (s: signalT): talkbackCb => isStart(s) ? (s as any)[0] : (talkbackPlaceholder as any);