aboutsummaryrefslogtreecommitdiff
path: root/stdlib/ref.ts
blob: 22650f7503277aa636a107d648d2990b9090b944 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import { Effect } from './effect'

// TODO: Make Ref opaque
// declare const $ref: unique symbol

export type Ref = string // & { [$ref]: true }

export interface CreateRef<_Val> extends Effect<Ref> {}

export interface GetRef<_Key extends Ref> extends Effect {}

export interface SetRef<_Key extends Ref, _Val> extends Effect {}

export interface DeleteRef<_Key extends Ref> extends Effect {}