(Object array, Object... optionalArgs)
| 4558 | } |
| 4559 | |
| 4560 | public Object filterBySinceLimit(Object array, Object... optionalArgs) |
| 4561 | { |
| 4562 | Object since = Helpers.getArg(optionalArgs, 0, null); |
| 4563 | Object limit = Helpers.getArg(optionalArgs, 1, null); |
| 4564 | Object key = Helpers.getArg(optionalArgs, 2, "timestamp"); |
| 4565 | Object tail = Helpers.getArg(optionalArgs, 3, false); |
| 4566 | Object sinceIsDefined = this.valueIsDefined(since); |
| 4567 | Object parsedArray = ((Object)this.toArray(array)); |
| 4568 | Object result = parsedArray; |
| 4569 | if (Helpers.isTrue(sinceIsDefined)) |
| 4570 | { |
| 4571 | result = new java.util.ArrayList<Object>(java.util.Arrays.asList()); |
| 4572 | for (var i = 0; Helpers.isLessThan(i, Helpers.getArrayLength(parsedArray)); i++) |
| 4573 | { |
| 4574 | Object entry = Helpers.GetValue(parsedArray, i); |
| 4575 | Object value = this.safeValue(entry, key); |
| 4576 | if (Helpers.isTrue(Helpers.isTrue(value) && Helpers.isTrue((Helpers.isGreaterThanOrEqual(value, since))))) |
| 4577 | { |
| 4578 | ((java.util.List<Object>)result).add(entry); |
| 4579 | } |
| 4580 | } |
| 4581 | } |
| 4582 | if (Helpers.isTrue(Helpers.isTrue(tail) && Helpers.isTrue(!Helpers.isEqual(limit, null)))) |
| 4583 | { |
| 4584 | return this.arraySlice(result, Helpers.opNeg(limit)); |
| 4585 | } |
| 4586 | // if the user provided a 'since' argument |
| 4587 | // we want to limit the result starting from the 'since' |
| 4588 | Object shouldFilterFromStart = !Helpers.isTrue(tail) && Helpers.isTrue(sinceIsDefined); |
| 4589 | return this.filterByLimit(result, limit, key, shouldFilterFromStart); |
| 4590 | } |
| 4591 | |
| 4592 | public Object filterByValueSinceLimit(Object array, Object field, Object... optionalArgs) |
| 4593 | { |
no test coverage detected