export const RandomSym = Symbol.for("@effect/core/io/Random") export type RandomSym = typeof RandomSym /** * @tsplus type effect/core/io/Random */ export interface Random { readonly [RandomSym]: RandomSym readonly next: Effect readonly nextBoolean: Effect readonly nextInt: Effect readonly nextRange: (low: number, high: number) => Effect readonly nextIntBetween: (low: number, high: number) => Effect readonly shuffle: (collection: Collection) => Effect> } /** * @tsplus type effect/core/io/Random.Ops */ export interface RandomOps { $: RandomAspects Tag: Tag } export const Random: RandomOps = { $: {}, Tag: Service.Tag() } /** * @tsplus type effect/core/io/Random.Aspects */ export interface RandomAspects {}