Readers
A reader
method is immutable, so any modifications you make to
state are ignored.
A reader
method is passed a context of type ReaderContext
. A
ReaderContext
can only be used to make calls to other reader
methods.
Here's an example of a reader
method called Balance
on our
Account
state that returns the account's current balance:
- Python
- TypeScript
from bank.v1.bank_rbt import Account
class AccountServicer(Account.Servicer):
async def Balance(
self,
context: ReaderContext,
request: BalanceRequest,
) -> BalanceResponse:
return BalanceResponse(balance=self.state.balance)
- Object literal
- Class
import { Account } from "../../api/bank/v1/account_rbt.js";
const accountServicer = Account.servicer({
balance: async (
context: ReaderContext,
request: Account.BalanceRequest
): Promise<Account.PartialBalanceResponse> => {
return { balance: state.balance };
},
});
import { Account } from "../../api/bank/v1/account_rbt.js";
class AccountServicer extends Account.Servicer {
async balance(
context: ReaderContext,
request: Account.BalanceRequest
): Promise<Account.PartialBalanceResponse> {
return { balance: this.state.balance };
}
}