| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import type { Effect, Fiber } from "effect"
- export class SandboxPromise {
- interrupted = false
- constructor(
- readonly fiber: Fiber.Fiber<unknown, unknown> | undefined,
- readonly immediate?: Effect.Effect<unknown, unknown>,
- ) {}
- }
- export class SandboxDate {
- constructor(readonly time: number) {}
- }
- export class SandboxRegExp {
- readonly regex: RegExp
- constructor(pattern: string, flags: string) {
- this.regex = new RegExp(pattern, flags)
- }
- }
- export class SandboxMap {
- readonly map = new Map<unknown, unknown>()
- }
- export class SandboxSet {
- readonly set = new Set<unknown>()
- }
- export class SandboxURLSearchParams {
- constructor(readonly params: URLSearchParams) {}
- }
- export class SandboxURL {
- readonly searchParams: SandboxURLSearchParams
- constructor(readonly url: URL) {
- this.searchParams = new SandboxURLSearchParams(url.searchParams)
- }
- }
- export const isSandboxValue = (
- value: unknown,
- ): value is SandboxDate | SandboxRegExp | SandboxMap | SandboxSet | SandboxURL | SandboxURLSearchParams =>
- value instanceof SandboxDate ||
- value instanceof SandboxRegExp ||
- value instanceof SandboxMap ||
- value instanceof SandboxSet ||
- value instanceof SandboxURL ||
- value instanceof SandboxURLSearchParams
|