carbon-components-angular
Version:
Next generation components
17 lines • 2.08 kB
JavaScript
/**
* Does what python's `range` function does, with a slightly different
* signature because of Typescript limitations.
*
* Useful for numbered loops in angular templates, since we can do
* a normal for loop.
*
* @export
* @param stop Generate numbers up to, but not including this number
* @param [start=0] Starting number of the sequence
* @param [step=1] Difference between each number in the sequence
* @returns an array with resulting numbers
*/
export function range(stop, start = 0, step = 1) {
return Array(Math.ceil((stop - start) / step)).fill(0).map((x, i) => i * step + start);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tbW9uL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsSUFBWSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLENBQUM7SUFDdEQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsSUFBSSxHQUFHLEtBQUssQ0FBQyxDQUFDO0FBQ3hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIERvZXMgd2hhdCBweXRob24ncyBgcmFuZ2VgIGZ1bmN0aW9uIGRvZXMsIHdpdGggYSBzbGlnaHRseSBkaWZmZXJlbnRcbiAqIHNpZ25hdHVyZSBiZWNhdXNlIG9mIFR5cGVzY3JpcHQgbGltaXRhdGlvbnMuXG4gKlxuICogVXNlZnVsIGZvciBudW1iZXJlZCBsb29wcyBpbiBhbmd1bGFyIHRlbXBsYXRlcywgc2luY2Ugd2UgY2FuIGRvXG4gKiBhIG5vcm1hbCBmb3IgbG9vcC5cbiAqXG4gKiBAZXhwb3J0XG4gKiBAcGFyYW0gc3RvcCBHZW5lcmF0ZSBudW1iZXJzIHVwIHRvLCBidXQgbm90IGluY2x1ZGluZyB0aGlzIG51bWJlclxuICogQHBhcmFtIFtzdGFydD0wXSBTdGFydGluZyBudW1iZXIgb2YgdGhlIHNlcXVlbmNlXG4gKiBAcGFyYW0gW3N0ZXA9MV0gRGlmZmVyZW5jZSBiZXR3ZWVuIGVhY2ggbnVtYmVyIGluIHRoZSBzZXF1ZW5jZVxuICogQHJldHVybnMgYW4gYXJyYXkgd2l0aCByZXN1bHRpbmcgbnVtYmVyc1xuICovXG5leHBvcnQgZnVuY3Rpb24gcmFuZ2Uoc3RvcDogbnVtYmVyLCBzdGFydCA9IDAsIHN0ZXAgPSAxKSB7XG5cdHJldHVybiBBcnJheShNYXRoLmNlaWwoKHN0b3AgLSBzdGFydCkgLyBzdGVwKSkuZmlsbCgwKS5tYXAoKHgsIGkpID0+IGkgKiBzdGVwICsgc3RhcnQpO1xufVxuIl19