UNPKG

shell-ahk

Version:

`Lodash`/`jQuery` for `AHK`.

36 lines (26 loc) 897 B
# @ts-check import slice_getType from './getType' import slice_reverse from './reverse' ###* @type import('./slice').Slice ### export default (list, start = 0, end = 0) -> unless (slice_getType list) == 'array' throw new Error "slice: Expected an array, got #{ slice_getType list }" slice_len = list.Length() unless end then end = slice_len if start > slice_len then start = slice_len if start < 0 then start = slice_len + start if end > slice_len then end = slice_len if end < 0 then end = slice_len + end slice_isReverse = false if start > end slice_isReverse = true [start, end] = [end, start] ###* @type typeof list ### slice_listNew = [] slice_n = 0 slice_max = end - start while slice_n < slice_max slice_listNew.Push list[start + slice_n] slice_n++ if slice_isReverse then return slice_reverse slice_listNew return slice_listNew