Reference / Modules / client / ApprovedVote
Class: ApprovedVote
client.ApprovedVote
A State instance is a state in the "state machine" sense. It comes with some behavior and state transition methods. A state transition method returns an instance of the next state given the executed operation, which discards current object.
This class should be extended by client class. It provides method enabling the client class to query if it was already discarded or not as well as methods actually discarding the state.
Hierarchy
-
↳
ApprovedVote
Table of contents
Constructors
Properties
Accessors
Methods
- alreadyVoted
- currentAddress
- discard
- discardOnSuccess
- ensureCurrent
- finalizeOnSuccess
- getCurrentState
- getCurrentStateOrThrow
- refreshVotes
- syncDiscardOnSuccess
Constructors
constructor
• new ApprovedVote(votes
, data
): ApprovedVote
Parameters
Name | Type |
---|---|
votes | Votes |
data | VoteData |
Returns
Inherited from
Defined in
packages/client/src/Votes.ts:136
Properties
_data
• Protected
_data: VoteData
Inherited from
Defined in
packages/client/src/Votes.ts:142
_votes
• Protected
_votes: Votes
Inherited from
Defined in
packages/client/src/Votes.ts:144
Accessors
data
• get
data(): VoteData
Returns
Inherited from
Vote.data
Defined in
packages/client/src/Votes.ts:146
discarded
• get
discarded(): boolean
Returns
boolean
Description
True if this state was discarded
Inherited from
Vote.discarded
Defined in
packages/client/src/State.ts:24
votes
• get
votes(): Votes
Returns
Inherited from
Vote.votes
Defined in
packages/client/src/Votes.ts:150
Methods
alreadyVoted
▸ alreadyVoted(): boolean
Returns
boolean
Inherited from
Defined in
packages/client/src/Votes.ts:154
currentAddress
▸ currentAddress(): string
Returns
string
Inherited from
Defined in
packages/client/src/Votes.ts:159
discard
▸ discard(next
): void
Parameters
Name | Type |
---|---|
next | undefined | State |
Returns
void
Description
Discards current state. One must discard the state only
if the state transition was successfully executed. It may be safer to
use discardOnSuccess
.
Inherited from
Defined in
packages/client/src/State.ts:43
discardOnSuccess
▸ discardOnSuccess<T
, U
>(action
): Promise
<U
>
Type parameters
Name | Type |
---|---|
T | extends State |
U | extends State = T |
Parameters
Name | Type | Description |
---|---|---|
action | (current : T ) => Promise <U > | The state transition logic producing next state |
Returns
Promise
<U
>
Next state if state transition logic execution did not throw
Descripiton
Discards current state only if given state transition logic executed successfully (i.e. without throwing an error).
Inherited from
Defined in
packages/client/src/State.ts:55
ensureCurrent
▸ ensureCurrent(): void
Returns
void
Description
Throws an error if this state was discarded. This should be called by all public methods of client class.
Inherited from
Defined in
packages/client/src/State.ts:32
finalizeOnSuccess
▸ finalizeOnSuccess<T
>(action
): Promise
<void
>
Type parameters
Name | Type |
---|---|
T | extends State |
Parameters
Name | Type | Description |
---|---|---|
action | (current : T ) => Promise <void > | The state transition logic producing next state |
Returns
Promise
<void
>
Next state if state transition logic execution did not throw
Descripiton
Finalizes (i.e. replaces with no new state) current state only if given state transition logic executed successfully (i.e. without throwing an error).
Inherited from
Defined in
packages/client/src/State.ts:117
getCurrentState
▸ getCurrentState(): undefined
| State
Returns
undefined
| State
This state if not discareded or the current state or undefined when there is no current state.
Description
If the state has been discarded, provides the replacing current state if any.
Inherited from
Defined in
packages/client/src/State.ts:90
getCurrentStateOrThrow
▸ getCurrentStateOrThrow(): State
Returns
Inherited from
Defined in
packages/client/src/State.ts:102
refreshVotes
▸ refreshVotes(newVotes
): ApprovedVote
Parameters
Name | Type |
---|---|
newVotes | Votes |
Returns
Overrides
Defined in
packages/client/src/Votes.ts:199
syncDiscardOnSuccess
▸ syncDiscardOnSuccess<T
, U
>(action
): U
Type parameters
Name | Type |
---|---|
T | extends State |
U | extends State = T |
Parameters
Name | Type | Description |
---|---|---|
action | (current : T ) => U | The state transition logic producing next state |
Returns
U
Next state if state transition logic execution did not throw
Descripiton
Same as discardOnSuccess
but with a synchronous action.