8000 Add offset facility to limit filer aka mysql limit · Mat-Moo/vue@7f35827 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7f35827

Browse files
committed
Add offset facility to limit filer aka mysql limit
1 parent d2821b0 commit 7f35827

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

src/filters/array-filters.js

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,15 @@ var toArray = require('../directives/public/for')._postProcess
66
* Limit filter for arrays
77
*
88
* @param {Number} n
9+
* @param {Number} offset (Decimal expected)
910
*/
1011

11-
exports.limitBy = function (arr, n) {
12+
exports.limitBy = function (arr, n, offset) {
13+
var off = (!offset)
14+
? 0
15+
: parseInt(offset, 10)
1216
return typeof n === 'number'
13-
? arr.slice(0, n)
17+
? arr.slice(off, off + n)
1418
: arr
1519
}
1620

test/unit/specs/filters/filters_spec.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,13 @@ describe('Filters', function () {
116116
assertArray(res, [1, 2, 3])
117117
res = filter(arr, -1)
118118
assertArray(res, [1, 2])
119+
// with offsets, note offsets are 0 bound (as expected)
120+
res = filter(arr, 1, 1)
121+
assertArray(res, [2])
122+
res = filter(arr, 2, 1)
123+
assertArray(res, [2, 3])
124+
res = filter(arr, 1, 2)
125+
assertArray(res, [3])
119126
})
120127

121128
it('filterBy', function () {

0 commit comments

Comments
 (0)
0