Reference / Modules / client / LocRequestState
Class: LocRequestState
client.LocRequestState
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
Table of contents
Constructors
Properties
Accessors
Methods
- _withLocs
- checkHash
- data
- discard
- discardOnSuccess
- ensureCurrent
- finalizeOnSuccess
- getCurrentState
- getCurrentStateOrThrow
- getFile
- isLogionData
- isLogionIdentity
- isOwner
- isRequester
- isVerifiedIssuer
- locsState
- refresh
- supersededLoc
- syncDiscardOnSuccess
- withLocs
- buildLocData
- checkHash
- createFromLoc
- createFromRequest
- dataFromRequest
- dataFromRequestAndLoc
- mergeFile
- mergeLink
- mergeMetadata
- parseItemLifecycleDates
- refreshLoc
- toCollectionParams
Constructors
constructor
• new LocRequestState(locSharedState, request, legalOfficerCase, locIssuers, invitedContributors): LocRequestState
Parameters
| Name | Type |
|---|---|
locSharedState | LocSharedState |
request | LocRequest |
legalOfficerCase | undefined | LegalOfficerCase |
locIssuers | LocVerifiedIssuers |
invitedContributors | ValidAccountId[] |
Returns
Overrides
Defined in
packages/client/src/Loc.ts:766
Properties
invitedContributors
• Protected Readonly invitedContributors: ValidAccountId[]
Defined in
packages/client/src/Loc.ts:763
legalOfficerCase
• Protected Optional Readonly legalOfficerCase: LegalOfficerCase
Defined in
packages/client/src/Loc.ts:761
locIssuers
• Protected Readonly locIssuers: LocVerifiedIssuers
Defined in
packages/client/src/Loc.ts:762
locSharedState
• Protected Readonly locSharedState: LocSharedState
Defined in
packages/client/src/Loc.ts:759
owner
• Readonly owner: LegalOfficerClass
Defined in
packages/client/src/Loc.ts:764
request
• Protected Readonly request: LocRequest
Defined in
packages/client/src/Loc.ts:760
Accessors
discarded
• get discarded(): boolean
Returns
boolean
Description
True if this state was discarded
Inherited from
State.discarded
Defined in
packages/client/src/State.ts:24
locId
• get locId(): UUID
Returns
UUID
Defined in
packages/client/src/Loc.ts:781
Methods
_withLocs
▸ _withLocs<T>(locsState, constructor): T
Type parameters
| Name | Type |
|---|---|
T | extends LocRequestState |
Parameters
| Name | Type |
|---|---|
locsState | LocsState |
constructor | (locSharedState: LocSharedState, request: LocRequest, legalOfficerCase: undefined | LegalOfficerCase, locIssuers: LocVerifiedIssuers, invitedContributors: ValidAccountId[]) => T |
Returns
T
Defined in
packages/client/src/Loc.ts:1096
checkHash
▸ checkHash(hash): Promise<CheckHashResult>
Parameters
| Name | Type |
|---|---|
hash | Hash |
Returns
Promise<CheckHashResult>
Defined in
packages/client/src/Loc.ts:869
data
▸ data(): LocData
Returns
Defined in
packages/client/src/Loc.ts:839
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
getFile
▸ getFile(hash): Promise<TypedFile>
Parameters
| Name | Type |
|---|---|
hash | Hash |
Returns
Promise<TypedFile>
Defined in
packages/client/src/Loc.ts:1103
isLogionData
▸ isLogionData(): boolean
Returns
boolean
Defined in
packages/client/src/Loc.ts:864
isLogionIdentity
▸ isLogionIdentity(): boolean
Returns
boolean
Defined in
packages/client/src/Loc.ts:859
isOwner
▸ isOwner(account?): boolean
Parameters
| Name | Type |
|---|---|
account? | ValidAccountId |
Returns
boolean
Defined in
packages/client/src/Loc.ts:1112
isRequester
▸ isRequester(account?): boolean
Parameters
| Name | Type |
|---|---|
account? | ValidAccountId |
Returns
boolean
Defined in
packages/client/src/Loc.ts:1107
isVerifiedIssuer
▸ isVerifiedIssuer(account?): boolean
Parameters
| Name | Type |
|---|---|
account? | ValidAccountId |
Returns
boolean
Defined in
packages/client/src/Loc.ts:1117
locsState
▸ locsState(): LocsState
Returns
Defined in
packages/client/src/Loc.ts:835
refresh
▸ refresh(): Promise<LocRequestState>
Returns
Promise<LocRequestState>
Defined in
packages/client/src/Loc.ts:823
supersededLoc
▸ supersededLoc(): Promise<undefined | VoidedLoc>
Returns
Promise<undefined | VoidedLoc>
Defined in
packages/client/src/Loc.ts:851
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.
Inherited from
Defined in
packages/client/src/State.ts:73
withLocs
▸ withLocs(locsState): LocRequestState
Parameters
| Name | Type |
|---|---|
locsState | LocsState |
Returns
Defined in
packages/client/src/Loc.ts:1094
buildLocData
▸ buildLocData(api, legalOfficerCase, request, locIssuers, invitedContributors): LocData
Parameters
| Name | Type |
|---|---|
api | LogionNodeApiClass |
legalOfficerCase | undefined | LegalOfficerCase |
request | LocRequest |
locIssuers | LocVerifiedIssuers |
invitedContributors | ValidAccountId[] |
Returns
Defined in
packages/client/src/Loc.ts:843
checkHash
▸ checkHash(loc, hash): CheckHashResult
Parameters
| Name | Type |
|---|---|
loc | LocData |
hash | Hash |
Returns
Defined in
packages/client/src/Loc.ts:873
createFromLoc
▸ createFromLoc(locSharedState, request, legalOfficerCase, locIssuers, invitedContributors): Promise<OnchainLocState>
Parameters
| Name | Type |
|---|---|
locSharedState | LocSharedState |
request | LocRequest |
legalOfficerCase | LegalOfficerCase |
locIssuers | LocVerifiedIssuers |
invitedContributors | ValidAccountId[] |
Returns
Promise<OnchainLocState>
Defined in
packages/client/src/Loc.ts:800
createFromRequest
▸ createFromRequest(locSharedState, request, locIssuers, invitedContributors, legalOfficerCase?): Promise<AnyLocState>
Parameters
| Name | Type |
|---|---|
locSharedState | LocSharedState |
request | LocRequest |
locIssuers | LocVerifiedIssuers |
invitedContributors | ValidAccountId[] |
legalOfficerCase? | LegalOfficerCase |
Returns
Promise<AnyLocState>
Defined in
packages/client/src/Loc.ts:785
dataFromRequest
▸ dataFromRequest(api, request, locIssuers, invitedContributors): LocData
Parameters
| Name | Type |
|---|---|
api | LogionNodeApiClass |
request | LocRequest |
locIssuers | LocVerifiedIssuers |
invitedContributors | ValidAccountId[] |
Returns
Defined in
packages/client/src/Loc.ts:891
dataFromRequestAndLoc
▸ dataFromRequestAndLoc(api, request, loc, locIssuers, invitedContributors): LocData
Parameters
| Name | Type |
|---|---|
api | LogionNodeApiClass |
request | LocRequest |
loc | LegalOfficerCase |
locIssuers | LocVerifiedIssuers |
invitedContributors | ValidAccountId[] |
Returns
Defined in
packages/client/src/Loc.ts:933
mergeFile
▸ mergeFile(api, backendFile, chainLoc?): MergedFile
Parameters
| Name | Type |
|---|---|
api | LogionNodeApiClass |
backendFile | LocFile |
chainLoc? | LegalOfficerCase |
Returns
Defined in
packages/client/src/Loc.ts:1024
mergeLink
▸ mergeLink(api, backendLink, chainLoc?): MergedLink
Parameters
| Name | Type |
|---|---|
api | LogionNodeApiClass |
backendLink | LocLink |
chainLoc? | LegalOfficerCase |
Returns
Defined in
packages/client/src/Loc.ts:1063
mergeMetadata
▸ mergeMetadata(api, backendMetadataItem, chainLoc?): MergedMetadataItem
Parameters
| Name | Type |
|---|---|
api | LogionNodeApiClass |
backendMetadataItem | LocMetadataItem |
chainLoc? | LegalOfficerCase |
Returns
Defined in
packages/client/src/Loc.ts:978
parseItemLifecycleDates
▸ parseItemLifecycleDates(args): ItemLifecycle
Parameters
| Name | Type |
|---|---|
args | { acknowledgedByOwner: boolean ; acknowledgedByVerifiedIssuer: boolean ; published: boolean } & ItemLifecycle |
Returns
ItemLifecycle
Defined in
packages/client/src/Loc.ts:1009
refreshLoc
▸ refreshLoc(locSharedState, request, loc, locIssuers, invitedContributors): Promise<OnchainLocState>
Parameters
| Name | Type |
|---|---|
locSharedState | LocSharedState |
request | LocRequest |
loc | undefined | LegalOfficerCase |
locIssuers | LocVerifiedIssuers |
invitedContributors | ValidAccountId[] |
Returns
Promise<OnchainLocState>
Defined in
packages/client/src/Loc.ts:804
toCollectionParams
▸ toCollectionParams(collectionParams): undefined | CollectionParams
Parameters
| Name | Type |
|---|---|
collectionParams | undefined | BackendCollectionParams |
Returns
undefined | CollectionParams