import { Subscriber } from "../_core" import { makeEventStream } from "../_obs" import { EventStream } from "../EventStream" import { Activation, Root } from "./_base" /** * Creates an EventStream that immediately ends * * @example * * const emptyNum = F.never() * * @public */ export function never(): EventStream { return makeEventStream(new Never()) } export class Never extends Root { constructor() { super(false) } protected create(subscriber: Subscriber): Activation> { return new NeverActivation(this, subscriber) } } class NeverActivation extends Activation> { protected start(): void { this.sendEnd() } protected stop(): void {} }