Skip to content

Commit 7f2e25d

Browse files
authored
Merge pull request #439 from dojoengine/fix/pagination
fix: pagination missing next_cursor
2 parents 34eb380 + f846b79 commit 7f2e25d

File tree

6 files changed

+37
-13
lines changed

6 files changed

+37
-13
lines changed

.changeset/many-kings-count.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
"@dojoengine/sdk": patch
3+
"@dojoengine/core": patch
4+
"@dojoengine/create-burner": patch
5+
"@dojoengine/create-dojo": patch
6+
"@dojoengine/predeployed-connector": patch
7+
"@dojoengine/react": patch
8+
"@dojoengine/state": patch
9+
"@dojoengine/torii-client": patch
10+
"@dojoengine/torii-wasm": patch
11+
"@dojoengine/utils": patch
12+
"@dojoengine/utils-wasm": patch
13+
---
14+
15+
fix: pagination missing next_cursor

packages/sdk/src/__tests__/pagination.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ describe("Pagination", () => {
3131
const pagination = Pagination.fromQuery<
3232
typeof schema,
3333
(typeof schema)[]
34-
>(query);
34+
>(query, "next-cursor");
3535
expect(pagination.limit).toBe(20);
36-
expect(pagination.cursor).toBe("test-cursor");
36+
expect(pagination.cursor).toBe("next-cursor");
3737
});
3838

3939
it("should set items and return the instance", () => {

packages/sdk/src/internal/pagination.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,13 @@ export class Pagination<T extends SchemaType, Inner extends any[]> {
3636
* @returns A new Pagination instance configured with the query's pagination settings
3737
*/
3838
static fromQuery<T extends SchemaType, Inner extends any[]>(
39-
query: ToriiQueryBuilder<T>
39+
query: ToriiQueryBuilder<T>,
40+
nextCursor?: string
4041
): Pagination<T, Inner> {
4142
const pagination = query.getPagination();
4243
return new Pagination(
4344
pagination.limit,
44-
pagination.cursor,
45+
nextCursor,
4546
pagination.direction
4647
);
4748
}

packages/sdk/src/node/index.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,9 @@ export async function init<T extends SchemaType>(
6262
const entities = await client.getEntities(q);
6363
const parsedEntities = parseEntities<T>(entities.items);
6464
return [
65-
Pagination.fromQuery(query).withItems(parsedEntities),
65+
Pagination.fromQuery(query, entities.next_cursor).withItems(
66+
parsedEntities
67+
),
6668
client.onEntityUpdated(
6769
q.clause,
6870
subscribeQueryModelCallback(callback)
@@ -84,7 +86,9 @@ export async function init<T extends SchemaType>(
8486
const entities = await client.getEventMessages(q);
8587
const parsedEntities = parseEntities<T>(entities.items);
8688
return [
87-
Pagination.fromQuery(query).withItems(parsedEntities),
89+
Pagination.fromQuery(query, entities.next_cursor).withItems(
90+
parsedEntities
91+
),
8892
client.onEventMessageUpdated(
8993
q.clause,
9094
subscribeQueryModelCallback(callback)
@@ -115,7 +119,7 @@ export async function init<T extends SchemaType>(
115119

116120
const entities = await client.getEntities(q);
117121

118-
return Pagination.fromQuery(query).withItems(
122+
return Pagination.fromQuery(query, entities.next_cursor).withItems(
119123
parseEntities(entities.items)
120124
);
121125
},
@@ -132,7 +136,7 @@ export async function init<T extends SchemaType>(
132136

133137
const entities = await client.getEventMessages(q);
134138

135-
return Pagination.fromQuery(query).withItems(
139+
return Pagination.fromQuery(query, entities.next_cursor).withItems(
136140
parseEntities(entities.items)
137141
);
138142
},

packages/sdk/src/web/index.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,9 @@ export async function init<T extends SchemaType>(
8181
const entities = await client.getEntities(q);
8282
const parsedEntities = parseEntities<T>(entities.items);
8383
return [
84-
Pagination.fromQuery(query).withItems(parsedEntities),
84+
Pagination.fromQuery(query, entities.next_cursor).withItems(
85+
parsedEntities
86+
),
8587
client.onEntityUpdated(
8688
q.clause,
8789
subscribeQueryModelCallback(callback)
@@ -103,7 +105,9 @@ export async function init<T extends SchemaType>(
103105
const entities = await client.getEventMessages(q);
104106
const parsedEntities = parseEntities<T>(entities.items);
105107
return [
106-
Pagination.fromQuery(query).withItems(parsedEntities),
108+
Pagination.fromQuery(query, entities.next_cursor).withItems(
109+
parsedEntities
110+
),
107111
client.onEventMessageUpdated(
108112
q.clause,
109113
subscribeQueryModelCallback(callback)
@@ -134,7 +138,7 @@ export async function init<T extends SchemaType>(
134138

135139
const entities = await client.getEntities(q);
136140

137-
return Pagination.fromQuery(query).withItems(
141+
return Pagination.fromQuery(query, entities.next_cursor).withItems(
138142
parseEntities(entities.items)
139143
);
140144
},
@@ -151,7 +155,7 @@ export async function init<T extends SchemaType>(
151155

152156
const entities = await client.getEventMessages(q);
153157

154-
return Pagination.fromQuery(query).withItems(
158+
return Pagination.fromQuery(query, entities.next_cursor).withItems(
155159
parseEntities(entities.items)
156160
);
157161
},

packages/sdk/src/web/react/hooks/hooks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import { deepEqual, sleep } from "./utils";
1515
*/
1616
export function createSubscriptionHook<
1717
Schema extends SchemaType,
18-
Historical extends boolean = false,
18+
Historical extends boolean = false
1919
>(config: {
2020
subscribeMethod: (
2121
options: SubscribeParams<Schema>

0 commit comments

Comments
 (0)