/** * The `Annotations` trait provides access to an annotation map that tests can * add arbitrary annotations to. Each annotation consists of a string * identifier, an initial value, and a function for combining two values. * Annotations form monoids and you can think of `Annotations` as a more * structured logging service or as a super polymorphic version of the writer * monad effect. * * @tsplus type effect/core/testing/Annotations */ export interface Annotations { readonly annotate: (key: TestAnnotation, value: V) => Effect readonly get: (key: TestAnnotation) => Effect // readonly withAnnotation: ( // effect: Effect, TestSuccess> // ) => Effect, TestSuccess> readonly supervisedFibers: Effect>> } /** * @tsplus type effect/core/testing/Annotations.Ops */ export interface AnnotationsOps { readonly Tag: Tag } export const Annotations: AnnotationsOps = { Tag: Tag() }