UNPKG

@effect-ts/system

Version:

Effect-TS is a zero dependency set of libraries to write highly productive, purely functional TypeScript at scale.

32 lines (24 loc) 1.07 kB
// ets_tracing: off export const SinkEndReasonTypeId = Symbol() export const SinkEndTypeId = Symbol() export class SinkEnd { readonly _sinkEndReasonTypeId: typeof SinkEndReasonTypeId = SinkEndReasonTypeId readonly _typeId: typeof SinkEndTypeId = SinkEndTypeId } export const ScheduleTimeoutTypeId = Symbol() export class ScheduleTimeout { readonly _sinkEndReasonTypeId: typeof SinkEndReasonTypeId = SinkEndReasonTypeId readonly _typeId: typeof ScheduleTimeoutTypeId = ScheduleTimeoutTypeId } export const ScheduleEndTypeId = Symbol() export class ScheduleEnd<C> { readonly _sinkEndReasonTypeId: typeof SinkEndReasonTypeId = SinkEndReasonTypeId readonly _typeId: typeof ScheduleEndTypeId = ScheduleEndTypeId constructor(readonly c: C) {} } export const UpstreamEndTypeId = Symbol() export class UpstreamEnd { readonly _sinkEndReasonTypeId: typeof SinkEndReasonTypeId = SinkEndReasonTypeId readonly _typeId: typeof UpstreamEndTypeId = UpstreamEndTypeId } export type SinkEndReason<C> = SinkEnd | ScheduleTimeout | ScheduleEnd<C> | UpstreamEnd