diff options
Diffstat (limited to 'stdlib')
| -rw-r--r-- | stdlib/ref.ts | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/stdlib/ref.ts b/stdlib/ref.ts new file mode 100644 index 0000000..22650f7 --- /dev/null +++ b/stdlib/ref.ts @@ -0,0 +1,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 {} |
