UNPKG

@effect-ts/system

Version:

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

52 lines (46 loc) 1.45 kB
// ets_tracing: off import { None } from "../Fiber/id.mjs"; import { AtomicBoolean } from "../Support/AtomicBoolean/index.mjs"; import { Bounded, Unbounded } from "../Support/MutableQueue/index.mjs"; import { BackPressureStrategy, unsafeCreate } from "./api.mjs"; import { DroppingStrategy, SlidingStrategy } from "./core.mjs"; import * as P from "./promise.mjs"; /** * Unsafely creates a queue * * @ets_data_first unsafeCreateQueue_ */ export function unsafeCreateQueue(strategy) { return queue => unsafeCreateQueue_(queue, strategy); } /** * Unsafely creates a queue */ export function unsafeCreateQueue_(queue, strategy) { return unsafeCreate(queue, new Unbounded(), P.unsafeMake(None), new AtomicBoolean(false), strategy); } /** * Unsafely creates a sliding queue */ export function unsafeMakeSliding(capacity) { return unsafeCreateQueue_(new Bounded(capacity), new SlidingStrategy()); } /** * Unsafely creates a unbounded queue */ export function unsafeMakeUnbounded() { return unsafeCreateQueue_(new Unbounded(), new DroppingStrategy()); } /** * Unsafely creates a dropping queue */ export function unsafeMakeDropping(capacity) { return unsafeCreateQueue_(new Bounded(capacity), new DroppingStrategy()); } /** * Unsafely creates a bounded queue */ export function unsafeMakeBounded(capacity) { return unsafeCreateQueue_(new Bounded(capacity), new BackPressureStrategy()); } //# sourceMappingURL=unsafe.mjs.map