Preparing search index...
The search index is not available
@thi.ng/atom
@thi.ng/atom
IAtom
Interface IAtom<T>
interface
IAtom
<
T
>
{
addWatch
(
id
,
fn
)
:
boolean
;
deref
(
)
:
T
;
notifyWatches
(
oldState
,
newState
)
:
void
;
release
(
opt
?
)
:
boolean
;
removeWatch
(
id
)
:
boolean
;
reset
(
val
)
:
T
;
resetIn
(
path
,
val
)
:
T
;
resetIn
<
A
>
(
path
,
val
)
:
T
;
resetIn
<
A
,
B
>
(
path
,
val
)
:
T
;
resetIn
<
A
,
B
,
C
>
(
path
,
val
)
:
T
;
resetIn
<
A
,
B
,
C
,
D
>
(
path
,
val
)
:
T
;
resetIn
<
A
,
B
,
C
,
D
,
E
>
(
path
,
val
)
:
T
;
resetIn
<
A
,
B
,
C
,
D
,
E
,
F
>
(
path
,
val
)
:
T
;
resetInUnsafe
(
path
,
val
)
:
T
;
swap
(
fn
,
...
args
)
:
T
;
swapIn
<
A
>
(
path
,
fn
,
...
args
)
:
T
;
swapIn
<
A
>
(
path
,
fn
,
...
args
)
:
T
;
swapIn
<
A
,
B
>
(
path
,
fn
,
...
args
)
:
T
;
swapIn
<
A
,
B
,
C
>
(
path
,
fn
,
...
args
)
:
T
;
swapIn
<
A
,
B
,
C
,
D
>
(
path
,
fn
,
...
args
)
:
T
;
swapIn
<
A
,
B
,
C
,
D
,
E
>
(
path
,
fn
,
...
args
)
:
T
;
swapIn
<
A
,
B
,
C
,
D
,
E
,
F
>
(
path
,
fn
,
...
args
)
:
T
;
swapInUnsafe
(
path
,
fn
,
...
args
)
:
T
;
}
Type Parameters
T
Hierarchy (
view full
)
ReadonlyAtom
<
T
>
IReset
<
T
>
ISwap
<
T
>
IAtom
IHistory
Implemented by
Atom
Cursor
Transacted
Index
Methods
add
Watch
deref
notify
Watches
release
remove
Watch
reset
reset
In
reset
In
Unsafe
swap
swap
In
swap
In
Unsafe
Methods
add
Watch
add
Watch
(
id
,
fn
)
:
boolean
Parameters
id
:
string
fn
:
Watch
<
T
>
Returns
boolean
deref
deref
(
)
:
T
Returns wrapped value.
Returns
T
notify
Watches
notify
Watches
(
oldState
,
newState
)
:
void
Parameters
oldState
:
T
newState
:
T
Returns
void
release
release
(
opt
?
)
:
boolean
Parameters
Optional
opt
:
any
Returns
boolean
remove
Watch
remove
Watch
(
id
)
:
boolean
Parameters
id
:
string
Returns
boolean
reset
reset
(
val
)
:
T
Parameters
val
:
T
Returns
T
reset
In
reset
In
(
path
,
val
)
:
T
Parameters
path
:
readonly
[
]
val
:
T
Returns
T
reset
In
<
A
>
(
path
,
val
)
:
T
Type Parameters
A
Parameters
path
:
Path1
<
T
,
A
>
val
:
ValNReducer
<
T
,
A
,
[
]
>
Returns
T
reset
In
<
A
,
B
>
(
path
,
val
)
:
T
Type Parameters
A
B
Parameters
path
:
Path2
<
T
,
A
,
B
>
val
:
ValNReducer
<
T
,
A
,
[
B
]
>
Returns
T
reset
In
<
A
,
B
,
C
>
(
path
,
val
)
:
T
Type Parameters
A
B
C
Parameters
path
:
Path3
<
T
,
A
,
B
,
C
>
val
:
ValNReducer
<
T
,
A
,
[
B
,
C
]
>
Returns
T
reset
In
<
A
,
B
,
C
,
D
>
(
path
,
val
)
:
T
Type Parameters
A
B
C
D
Parameters
path
:
Path4
<
T
,
A
,
B
,
C
,
D
>
val
:
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
]
>
Returns
T
reset
In
<
A
,
B
,
C
,
D
,
E
>
(
path
,
val
)
:
T
Type Parameters
A
B
C
D
E
Parameters
path
:
Path5
<
T
,
A
,
B
,
C
,
D
,
E
>
val
:
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
,
E
]
>
Returns
T
reset
In
<
A
,
B
,
C
,
D
,
E
,
F
>
(
path
,
val
)
:
T
Type Parameters
A
B
C
D
E
F
Parameters
path
:
Path6
<
T
,
A
,
B
,
C
,
D
,
E
,
F
>
val
:
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
,
E
,
F
]
>
Returns
T
reset
In
Unsafe
reset
In
Unsafe
(
path
,
val
)
:
T
Parameters
path
:
Path
val
:
any
Returns
T
swap
swap
(
fn
,
...
args
)
:
T
Parameters
fn
:
SwapFn
<
T
,
T
>
Rest
...
args
:
any
[]
Returns
T
swap
In
swap
In
<
A
>
(
path
,
fn
,
...
args
)
:
T
Type Parameters
A
Parameters
path
:
readonly
[
]
fn
:
SwapFn
<
T
,
T
>
Rest
...
args
:
any
[]
Returns
T
swap
In
<
A
>
(
path
,
fn
,
...
args
)
:
T
Type Parameters
A
Parameters
path
:
Path1
<
T
,
A
>
fn
:
SwapFn
<
OptVal
<
IsOptR
<
T
,
A
,
[
]
>
,
ValNReducer
<
T
,
A
,
[
]
>
>
,
ValNReducer
<
T
,
A
,
[
]
>
>
Rest
...
args
:
any
[]
Returns
T
swap
In
<
A
,
B
>
(
path
,
fn
,
...
args
)
:
T
Type Parameters
A
B
Parameters
path
:
Path2
<
T
,
A
,
B
>
fn
:
SwapFn
<
OptVal
<
IsOptR
<
T
,
A
,
[
B
]
>
,
ValNReducer
<
T
,
A
,
[
B
]
>
>
,
ValNReducer
<
T
,
A
,
[
B
]
>
>
Rest
...
args
:
any
[]
Returns
T
swap
In
<
A
,
B
,
C
>
(
path
,
fn
,
...
args
)
:
T
Type Parameters
A
B
C
Parameters
path
:
Path3
<
T
,
A
,
B
,
C
>
fn
:
SwapFn
<
OptVal
<
IsOptR
<
T
,
A
,
[
B
,
C
]
>
,
ValNReducer
<
T
,
A
,
[
B
,
C
]
>
>
,
ValNReducer
<
T
,
A
,
[
B
,
C
]
>
>
Rest
...
args
:
any
[]
Returns
T
swap
In
<
A
,
B
,
C
,
D
>
(
path
,
fn
,
...
args
)
:
T
Type Parameters
A
B
C
D
Parameters
path
:
Path4
<
T
,
A
,
B
,
C
,
D
>
fn
:
SwapFn
<
OptVal
<
IsOptR
<
T
,
A
,
[
B
,
C
,
D
]
>
,
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
]
>
>
,
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
]
>
>
Rest
...
args
:
any
[]
Returns
T
swap
In
<
A
,
B
,
C
,
D
,
E
>
(
path
,
fn
,
...
args
)
:
T
Type Parameters
A
B
C
D
E
Parameters
path
:
Path5
<
T
,
A
,
B
,
C
,
D
,
E
>
fn
:
SwapFn
<
OptVal
<
IsOptR
<
T
,
A
,
[
B
,
C
,
D
,
E
]
>
,
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
,
E
]
>
>
,
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
,
E
]
>
>
Rest
...
args
:
any
[]
Returns
T
swap
In
<
A
,
B
,
C
,
D
,
E
,
F
>
(
path
,
fn
,
...
args
)
:
T
Type Parameters
A
B
C
D
E
F
Parameters
path
:
Path6
<
T
,
A
,
B
,
C
,
D
,
E
,
F
>
fn
:
SwapFn
<
OptVal
<
IsOptR
<
T
,
A
,
[
B
,
C
,
D
,
E
,
F
]
>
,
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
,
E
,
F
]
>
>
,
ValNReducer
<
T
,
A
,
[
B
,
C
,
D
,
E
,
F
]
>
>
Rest
...
args
:
any
[]
Returns
T
swap
In
Unsafe
swap
In
Unsafe
(
path
,
fn
,
...
args
)
:
T
Parameters
path
:
Path
fn
:
SwapFn
<
any
,
any
>
Rest
...
args
:
any
[]
Returns
T
Settings
Member Visibility
Protected
Inherited
External
Theme
OS
Light
Dark
On This Page
add
Watch
deref
notify
Watches
release
remove
Watch
reset
reset
In
reset
In
Unsafe
swap
swap
In
swap
In
Unsafe
@thi.ng/atom
Loading...
Generated using
TypeDoc
Returns wrapped value.