Type parameters
T
Hierarchy
IAtom
<
T
>
IClear
INotify
IHistory
Implemented by
History
Index
Methods
add
Listener
add
Watch
can
Redo
can
Undo
clear
deref
notify
notify
Watches
record
redo
release
remove
Listener
remove
Watch
reset
reset
In
reset
InUnsafe
swap
swap
In
swap
InUnsafe
undo
Methods
add
Listener
add
Listener
(
id
:
string
, fn
:
Listener
, scope
?:
any
)
:
boolean
Parameters
id:
string
fn:
Listener
Optional
scope:
any
Returns
boolean
add
Watch
add
Watch
(
id
:
string
, fn
:
Watch
<
T
>
)
:
boolean
Parameters
id:
string
fn:
Watch
<
T
>
Returns
boolean
can
Redo
can
Redo
(
)
:
boolean
Returns
boolean
can
Undo
can
Undo
(
)
:
boolean
Returns
boolean
clear
clear
(
)
:
void
Returns
void
deref
deref
(
)
:
T
Returns wrapped value.
Returns
T
notify
notify
(
event
:
Event
)
:
void
Parameters
event:
Event
Returns
void
notify
Watches
notify
Watches
(
oldState
:
T
, newState
:
T
)
:
void
Parameters
oldState:
T
newState:
T
Returns
void
record
record
(
)
:
void
Returns
void
redo
redo
(
)
:
T
|
undefined
Returns
T
|
undefined
release
release
(
opt
?:
any
)
:
boolean
Parameters
Optional
opt:
any
Returns
boolean
remove
Listener
remove
Listener
(
id
:
string
, fn
:
Listener
, scope
?:
any
)
:
boolean
Parameters
id:
string
fn:
Listener
Optional
scope:
any
Returns
boolean
remove
Watch
remove
Watch
(
id
:
string
)
:
boolean
Parameters
id:
string
Returns
boolean
reset
reset
(
val
:
T
)
:
T
Parameters
val:
T
Returns
T
reset
In
reset
In
(
path
:
Path0
, val
:
T
)
:
T
reset
In<A>
(
path
:
Path1
<
T
,
A
>
, val
:
PathVal
<
T
,
[
A
]
>
)
:
T
reset
In<A, B>
(
path
:
Path2
<
T
,
A
,
B
>
, val
:
PathVal
<
T
,
[
A
,
B
]
>
)
:
T
reset
In<A, B, C>
(
path
:
Path3
<
T
,
A
,
B
,
C
>
, val
:
PathVal
<
T
,
[
A
,
B
,
C
]
>
)
:
T
reset
In<A, B, C, D>
(
path
:
Path4
<
T
,
A
,
B
,
C
,
D
>
, val
:
PathVal
<
T
,
[
A
,
B
,
C
,
D
]
>
)
:
T
reset
In<A, B, C, D, E>
(
path
:
Path5
<
T
,
A
,
B
,
C
,
D
,
E
>
, val
:
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
]
>
)
:
T
reset
In<A, B, C, D, E, F>
(
path
:
Path6
<
T
,
A
,
B
,
C
,
D
,
E
,
F
>
, val
:
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
]
>
)
:
T
reset
In<A, B, C, D, E, F, G>
(
path
:
Path7
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
>
, val
:
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
]
>
)
:
T
reset
In<A, B, C, D, E, F, G, H>
(
path
:
Path8
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
>
, val
:
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
]
>
)
:
T
reset
In<A, B, C, D, E, F, G, H>
(
path
:
DeepPath
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
>
, val
:
any
)
:
T
Parameters
path:
Path0
val:
T
Returns
T
Type parameters
A
Parameters
path:
Path1
<
T
,
A
>
val:
PathVal
<
T
,
[
A
]
>
Returns
T
Type parameters
A
B
Parameters
path:
Path2
<
T
,
A
,
B
>
val:
PathVal
<
T
,
[
A
,
B
]
>
Returns
T
Type parameters
A
B
C
Parameters
path:
Path3
<
T
,
A
,
B
,
C
>
val:
PathVal
<
T
,
[
A
,
B
,
C
]
>
Returns
T
Type parameters
A
B
C
D
Parameters
path:
Path4
<
T
,
A
,
B
,
C
,
D
>
val:
PathVal
<
T
,
[
A
,
B
,
C
,
D
]
>
Returns
T
Type parameters
A
B
C
D
E
Parameters
path:
Path5
<
T
,
A
,
B
,
C
,
D
,
E
>
val:
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
]
>
Returns
T
Type parameters
A
B
C
D
E
F
Parameters
path:
Path6
<
T
,
A
,
B
,
C
,
D
,
E
,
F
>
val:
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
]
>
Returns
T
Type parameters
A
B
C
D
E
F
G
Parameters
path:
Path7
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
>
val:
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
]
>
Returns
T
Type parameters
A
B
C
D
E
F
G
H
Parameters
path:
Path8
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
>
val:
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
]
>
Returns
T
Type parameters
A
B
C
D
E
F
G
H
Parameters
path:
DeepPath
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
>
val:
any
Returns
T
reset
InUnsafe
reset
InUnsafe
(
path
:
Path
, val
:
any
)
:
T
Parameters
path:
Path
val:
any
Returns
T
swap
swap
(
fn
:
SwapFn
<
T
,
T
>
,
...
args
:
any
[]
)
:
T
Parameters
fn:
SwapFn
<
T
,
T
>
Rest
...
args:
any
[]
Returns
T
swap
In
swap
In<A>
(
path
:
Path0
, fn
:
SwapFn
<
T
,
T
>
,
...
args
:
any
[]
)
:
T
swap
In<A>
(
path
:
Path1
<
T
,
A
>
, fn
:
SwapFn
<
OptPathVal
<
T
,
[
A
]
>
,
PathVal
<
T
,
[
A
]
>
>
,
...
args
:
any
[]
)
:
T
swap
In<A, B>
(
path
:
Path2
<
T
,
A
,
B
>
, fn
:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
]
>
,
PathVal
<
T
,
[
A
,
B
]
>
>
,
...
args
:
any
[]
)
:
T
swap
In<A, B, C>
(
path
:
Path3
<
T
,
A
,
B
,
C
>
, fn
:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
]
>
>
,
...
args
:
any
[]
)
:
T
swap
In<A, B, C, D>
(
path
:
Path4
<
T
,
A
,
B
,
C
,
D
>
, fn
:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
]
>
>
,
...
args
:
any
[]
)
:
T
swap
In<A, B, C, D, E>
(
path
:
Path5
<
T
,
A
,
B
,
C
,
D
,
E
>
, fn
:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
]
>
>
,
...
args
:
any
[]
)
:
T
swap
In<A, B, C, D, E, F>
(
path
:
Path6
<
T
,
A
,
B
,
C
,
D
,
E
,
F
>
, fn
:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
]
>
>
,
...
args
:
any
[]
)
:
T
swap
In<A, B, C, D, E, F, G>
(
path
:
Path7
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
>
, fn
:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
]
>
>
,
...
args
:
any
[]
)
:
T
swap
In<A, B, C, D, E, F, G, H>
(
path
:
Path8
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
>
, fn
:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
]
>
>
,
...
args
:
any
[]
)
:
T
swap
In<A, B, C, D, E, F, G, H>
(
path
:
DeepPath
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
>
, fn
:
SwapFn
<
any
,
any
>
,
...
args
:
any
[]
)
:
T
Type parameters
A
Parameters
path:
Path0
fn:
SwapFn
<
T
,
T
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
Parameters
path:
Path1
<
T
,
A
>
fn:
SwapFn
<
OptPathVal
<
T
,
[
A
]
>
,
PathVal
<
T
,
[
A
]
>
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
B
Parameters
path:
Path2
<
T
,
A
,
B
>
fn:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
]
>
,
PathVal
<
T
,
[
A
,
B
]
>
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
B
C
Parameters
path:
Path3
<
T
,
A
,
B
,
C
>
fn:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
]
>
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
B
C
D
Parameters
path:
Path4
<
T
,
A
,
B
,
C
,
D
>
fn:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
]
>
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
B
C
D
E
Parameters
path:
Path5
<
T
,
A
,
B
,
C
,
D
,
E
>
fn:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
]
>
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
B
C
D
E
F
Parameters
path:
Path6
<
T
,
A
,
B
,
C
,
D
,
E
,
F
>
fn:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
]
>
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
B
C
D
E
F
G
Parameters
path:
Path7
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
>
fn:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
]
>
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
B
C
D
E
F
G
H
Parameters
path:
Path8
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
>
fn:
SwapFn
<
OptPathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
]
>
,
PathVal
<
T
,
[
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
]
>
>
Rest
...
args:
any
[]
Returns
T
Type parameters
A
B
C
D
E
F
G
H
Parameters
path:
DeepPath
<
T
,
A
,
B
,
C
,
D
,
E
,
F
,
G
,
H
>
fn:
SwapFn
<
any
,
any
>
Rest
...
args:
any
[]
Returns
T
swap
InUnsafe
swap
InUnsafe
(
path
:
Path
, fn
:
SwapFn
<
any
,
any
>
,
...
args
:
any
[]
)
:
T
Parameters
path:
Path
fn:
SwapFn
<
any
,
any
>
Rest
...
args:
any
[]
Returns
T
undo
undo
(
)
:
T
|
undefined
Returns
T
|
undefined
Globals
"api"
"atom"
"cursor"
"history"
"idgen"
"index"
"transacted"
"view"
Cursor
Opts
IAtom
IHistory
add
Listener
add
Watch
can
Redo
can
Undo
clear
deref
notify
notify
Watches
record
redo
release
remove
Listener
remove
Watch
reset
reset
In
reset
InUnsafe
swap
swap
In
swap
InUnsafe
undo
IReset
ISwap
IView
Readonly
Atom
Swap
Fn
Generated using
TypeDoc
Returns wrapped value.