UNPKG

@cardboard-box/ngx-box

Version:

A collection of useful directives, components and services for angular

47 lines 4.74 kB
import { Injectable } from "@angular/core"; import * as i0 from "@angular/core"; export class UtilitiesService { all(data, pred) { for (let i of data) { if (!pred(i)) return false; } return true; } any(data, item) { for (let i of data) { if (i === item) return true; } return false; } anyOf(data, want) { for (let i of data) { for (let w of want) { if (w === i) return true; } } return false; } indexInBounds(data, next) { if (next < 0) return data.length - 1; if (next >= data.length) return 0; return next; } ran(max, min = 0) { return Math.floor(Math.random() * max) + min; } rand(data) { return data[this.ran(data.length)]; } } UtilitiesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: UtilitiesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); UtilitiesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: UtilitiesService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: UtilitiesService, decorators: [{ type: Injectable, args: [{ providedIn: 'root' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbGl0aWVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jYXJkYm9hcmRib3gvbmd4LWJveC9zcmMvbGliL3NlcnZpY2VzL3V0aWxpdGllcy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBRzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsR0FBRyxDQUFJLElBQVMsRUFBRSxJQUEwQjtRQUN4QyxLQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtZQUNmLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2dCQUFFLE9BQU8sS0FBSyxDQUFDO1NBQzlCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVELEdBQUcsQ0FBSSxJQUFTLEVBQUUsSUFBTztRQUNyQixLQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRTtZQUNmLElBQUksQ0FBQyxLQUFLLElBQUk7Z0JBQUUsT0FBTyxJQUFJLENBQUM7U0FDL0I7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxDQUFJLElBQVMsRUFBRSxJQUFTO1FBQ3pCLEtBQUksSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFO1lBQ2YsS0FBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLEtBQUssQ0FBQztvQkFBRSxPQUFPLElBQUksQ0FBQzthQUM1QjtTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUM7SUFDakIsQ0FBQztJQUVELGFBQWEsQ0FBSSxJQUFTLEVBQUUsSUFBWTtRQUNwQyxJQUFJLElBQUksR0FBRyxDQUFDO1lBQUUsT0FBTyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztRQUNyQyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVyxFQUFFLE1BQWMsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxDQUFJLElBQVM7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OzZHQXhDUSxnQkFBZ0I7aUhBQWhCLGdCQUFnQixjQURILE1BQU07MkZBQ25CLGdCQUFnQjtrQkFENUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBVdGlsaXRpZXNTZXJ2aWNlIHtcclxuXHJcbiAgICBhbGw8VD4oZGF0YTogVFtdLCBwcmVkOiAoaXRlbTogVCkgPT4gYm9vbGVhbikge1xyXG4gICAgICAgIGZvcihsZXQgaSBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGlmICghcHJlZChpKSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgYW55PFQ+KGRhdGE6IFRbXSwgaXRlbTogVCkge1xyXG4gICAgICAgIGZvcihsZXQgaSBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGlmIChpID09PSBpdGVtKSByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBhbnlPZjxUPihkYXRhOiBUW10sIHdhbnQ6IFRbXSkge1xyXG4gICAgICAgIGZvcihsZXQgaSBvZiBkYXRhKSB7XHJcbiAgICAgICAgICAgIGZvcihsZXQgdyBvZiB3YW50KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodyA9PT0gaSkgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpbmRleEluQm91bmRzPFQ+KGRhdGE6IFRbXSwgbmV4dDogbnVtYmVyKSB7XHJcbiAgICAgICAgaWYgKG5leHQgPCAwKSByZXR1cm4gZGF0YS5sZW5ndGggLSAxO1xyXG4gICAgICAgIGlmIChuZXh0ID49IGRhdGEubGVuZ3RoKSByZXR1cm4gMDtcclxuICAgICAgICByZXR1cm4gbmV4dDtcclxuICAgIH1cclxuXHJcbiAgICByYW4obWF4OiBudW1iZXIsIG1pbjogbnVtYmVyID0gMCkge1xyXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiBtYXgpICsgbWluO1xyXG4gICAgfVxyXG5cclxuICAgIHJhbmQ8VD4oZGF0YTogVFtdKSB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGFbdGhpcy5yYW4oZGF0YS5sZW5ndGgpXTtcclxuICAgIH1cclxufSJdfQ==