Skip to content

Commit be54934

Browse files
committed
Update index.ts
1 parent 99e27f0 commit be54934

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

packages/data-objectstack/src/index.ts

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,26 @@ export class ObjectStackAdapter<T = any> implements DataSource<T> {
6363
await this.connect();
6464

6565
const queryOptions = this.convertQueryParams(params);
66-
const result = await this.client.data.find<T>(resource, queryOptions);
66+
const result: any = await this.client.data.find<T>(resource, queryOptions);
67+
68+
// Handle legacy/raw array response (e.g. from some mock servers or non-OData endpoints)
69+
if (Array.isArray(result)) {
70+
return {
71+
data: result,
72+
total: result.length,
73+
page: 1,
74+
pageSize: result.length,
75+
hasMore: false,
76+
};
77+
}
6778

6879
return {
69-
data: result.value,
70-
total: result.count,
71-
page: params?.$skip ? Math.floor(params.$skip / (params.$top || 20)) + 1 : 1,
80+
data: result.value || [],
81+
total: result.count || (result.value ? result.value.length : 0),
82+
// Calculate page number safely
83+
page: params?.$skip && params.$top ? Math.floor(params.$skip / params.$top) + 1 : 1,
7284
pageSize: params?.$top,
73-
hasMore: result.value.length === params?.$top,
85+
hasMore: params?.$top ? (result.value?.length || 0) === params.$top : false,
7486
};
7587
}
7688

0 commit comments

Comments
 (0)