Skip to content

Commit

Permalink
add types to readme example (#9)
Browse files Browse the repository at this point in the history
  • Loading branch information
tristanz authored Dec 6, 2023
1 parent 5576004 commit 879b270
Showing 1 changed file with 16 additions and 3 deletions.
19 changes: 16 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,19 +76,32 @@ type Song = {
title: string;
};

type ChargeStatus = {
status: "charged" | "declined";
};

type AccessStatus = {
status: "unlocked" | "locked";
};

type Status = {
charge: ChargeStatus;
access: AccessStatus;
};

// Purchase song event handler
async function purchase(ctx: Context, user: User, song: Song): Promise<{ charge: any; access: any }> {
async function purchase(ctx: Context, user: User, song: Song): Promise<Status> {
const charge = await ctx.run(chargeCreditCard, user, song);
const access = await ctx.run(unlockUserAccess, user, song);
return { charge, access };
}

async function chargeCreditCard(ctx: Context, user: User, song: Song): Promise<any> {
async function chargeCreditCard(ctx: Context, user: User, song: Song): Promise<ChargeStatus> {
console.log("Charging credit card...");
return { status: "charged" };
}

async function unlockUserAccess(ctx: Context, user: User, song: Song): Promise<any> {
async function unlockUserAccess(ctx: Context, user: User, song: Song): Promise<AccessStatus> {
console.log("Unlocking user access...");
return { status: "unlocked" };
}
Expand Down

0 comments on commit 879b270

Please sign in to comment.