diff --git a/src/JsonModel/JM-search.test.js b/src/JsonModel/JM-search.test.js index 3730a50..964baa4 100644 --- a/src/JsonModel/JM-search.test.js +++ b/src/JsonModel/JM-search.test.js @@ -85,6 +85,8 @@ test('search cursor', async () => { cursor: undefined, total: 8, }) + const limitEqualToTotal = await m.search(null, {...q, limit: 8}) + expect(limitEqualToTotal.cursor).toBeFalsy() }) test('search itemsOnly', async () => { diff --git a/src/JsonModel/JsonModel.js b/src/JsonModel/JsonModel.js index 14756ab..85a6c41 100644 --- a/src/JsonModel/JsonModel.js +++ b/src/JsonModel/JsonModel.js @@ -502,7 +502,8 @@ class JsonModelImpl { options && !options.noCursor && options.limit && - rows.length === options.limit + rows.length === options.limit && + (!totalQ || totalO?.t > options.limit) ) { const last = rows[rows.length - 1] cursor = jsurl.stringify( @@ -511,7 +512,7 @@ class JsonModelImpl { ) } const out = {items, cursor} - if (totalO) out.total = totalO.t + out.total = totalO?.t return out }