UNPKG

@effect-ts/system

Version:

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

43 lines (36 loc) 952 B
// ets_tracing: off import { AtomicNumber } from "../Support/AtomicNumber/index.mjs"; /** * Constructs a Fiber ID */ export function FiberID(startTimeMillis, seqNumber) { return { _tag: "FiberID", seqNumber, startTimeMillis }; } /** * A sentinel value to indicate a fiber without identity. */ export const None = /*#__PURE__*/FiberID(0, 0); /** * Checks equality of Fiber IDs */ export function equalsFiberID(x, y) { return x.seqNumber === y.seqNumber && x.startTimeMillis === y.startTimeMillis; } const _fiberCounter = /*#__PURE__*/new AtomicNumber(0); /** * Constructs a new Fiber ID using current time and global increment */ export function newFiberId() { return FiberID(new Date().getTime(), _fiberCounter.getAndIncrement()); } /** * Format a fiber id */ export function prettyFiberId(_) { return `#${_.seqNumber} (started at: ${new Date(_.startTimeMillis).toISOString()})`; } //# sourceMappingURL=id.mjs.map