@@ -9,6 +9,11 @@ import type {
99} from "./types.ts" ;
1010
1111import { addAddressPadding } from "starknet" ;
12+ import { defaultToriiPagination } from "./pagination.ts" ;
13+
14+ type Strict < T > = {
15+ [ K in keyof T ] -?: NonNullable < T [ K ] > ;
16+ } ;
1217
1318/**
1419 * Creates a safe callback wrapper that handles errors
@@ -49,7 +54,7 @@ export const defaultTokenBalance: torii.TokenBalance = {
4954
5055function parseTokenRequest < T extends GetTokenRequest & GetTokenBalanceRequest > (
5156 req : T
52- ) : T {
57+ ) : Strict < T > {
5358 if ( req . contractAddresses ) {
5459 req . contractAddresses = req . contractAddresses . map ( ( r ) =>
5560 addAddressPadding ( r )
@@ -62,7 +67,12 @@ function parseTokenRequest<T extends GetTokenRequest & GetTokenBalanceRequest>(
6267 ) ;
6368 }
6469
65- return req ;
70+ return {
71+ contractAddresses : req . accountAddresses ?? [ ] ,
72+ accountAddresses : req . accountAddresses ?? [ ] ,
73+ tokenIds : req . tokenIds ?? [ ] ,
74+ pagination : req . pagination ?? defaultToriiPagination ,
75+ } as Strict < T > ;
6676}
6777/**
6878 * @param {GetTokenRequest } request
@@ -72,8 +82,13 @@ export async function getTokens(
7282 client : torii . ToriiClient ,
7383 request : GetTokenRequest
7484) : Promise < torii . Tokens > {
75- const { contractAddresses, tokenIds } = parseTokenRequest ( request ) ;
76- return await client . getTokens ( contractAddresses ?? [ ] , tokenIds ?? [ ] ) ;
85+ const { contractAddresses, tokenIds, pagination } =
86+ parseTokenRequest ( request ) ;
87+ return await client . getTokens ( {
88+ contract_addresses : contractAddresses ,
89+ token_ids : tokenIds ,
90+ pagination,
91+ } ) ;
7792}
7893
7994/**
@@ -84,13 +99,14 @@ export async function getTokenBalances(
8499 client : torii . ToriiClient ,
85100 request : GetTokenBalanceRequest
86101) : Promise < torii . TokenBalances > {
87- const { contractAddresses, accountAddresses, tokenIds } =
102+ const { contractAddresses, accountAddresses, tokenIds, pagination } =
88103 parseTokenRequest ( request ) ;
89- return await client . getTokenBalances (
90- contractAddresses ?? [ ] ,
91- accountAddresses ?? [ ] ,
92- tokenIds ?? [ ]
93- ) ;
104+ return await client . getTokenBalances ( {
105+ contract_addresses : contractAddresses ,
106+ account_addresses : accountAddresses ,
107+ token_ids : tokenIds ,
108+ pagination,
109+ } ) ;
94110}
95111
96112/**
0 commit comments