UNPKG

@bixi/ac

Version:
200 lines 11.7 kB
/** * @fileoverview added by tsickle * Generated from: src/ac.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { BehaviorSubject } from 'rxjs'; import * as i0 from "@angular/core"; /** * @record */ function IOptions() { } if (false) { /** @type {?} */ IOptions.prototype.isRole; } /** @type {?} */ const isArray = Array.isArray; /** @type {?} */ const toArray = (/** * @param {?} strOrArr * @return {?} */ (strOrArr) => { if (!strOrArr) return []; return isArray(strOrArr) ? strOrArr : [strOrArr]; }); const ɵ0 = toArray; /** @type {?} */ const partInArray = (/** * @param {?=} all * @param {?=} sub * @return {?} */ (all = [], sub = []) => { return !!sub.find((/** * @param {?} s * @return {?} */ s => all.includes(s))); }); const ɵ1 = partInArray; /** @type {?} */ const allInArray = (/** * @param {?=} all * @param {?=} sub * @return {?} */ (all = [], sub = []) => { return !!sub.every((/** * @param {?} s * @return {?} */ s => all.includes(s))); }); const ɵ2 = allInArray; /** @type {?} */ const partNotInArray = (/** * @param {?=} all * @param {?=} sub * @return {?} */ (all = [], sub = []) => { return !!sub.find((/** * @param {?} s * @return {?} */ s => !all.includes(s))); }); const ɵ3 = partNotInArray; /** @type {?} */ const allNotInArray = (/** * @param {?=} all * @param {?=} sub * @return {?} */ (all = [], sub = []) => { return sub.every((/** * @param {?} s * @return {?} */ s => !all.includes(s))); }); const ɵ4 = allNotInArray; export class BixiACService { constructor() { this._permissions = []; this._roles = []; this._roles$ = new BehaviorSubject([]); this._permissions$ = new BehaviorSubject([]); } /** * @return {?} */ get roles$() { return this._roles$; } /** * @return {?} */ get permissions$() { return this._permissions$; } /** * @param {?} data * @param {?=} options * @return {?} */ ac(data, options = { isRole: false }) { return allInArray(options.isRole ? this._roles : this._permissions, toArray(data)); } /** * @param {?} data * @param {?=} options * @return {?} */ acAny(data, options = { isRole: false }) { return partInArray(options.isRole ? this._roles : this._permissions, toArray(data)); } /** * @param {?} data * @param {?=} options * @return {?} */ ace(data, options = { isRole: false }) { return allNotInArray(options.isRole ? this._roles : this._permissions, toArray(data)); } /** * @param {?} data * @param {?=} options * @return {?} */ aceAny(data, options = { isRole: false }) { return partNotInArray(options.isRole ? this._roles : this._permissions, toArray(data)); } /** * @param {?} permissions * @return {?} */ setPermissions(permissions) { this._permissions = toArray(permissions); this._permissions$.next(this._permissions); } /** * @param {?} roles * @return {?} */ setRoles(roles) { this._roles = toArray(roles); this._roles$.next(this._roles); } /** * @return {?} */ getPermissions() { return this._permissions || []; } /** * @return {?} */ getRoles() { return this._roles || []; } /** * @return {?} */ clear() { this.setPermissions([]); this.setRoles([]); } } BixiACService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ BixiACService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BixiACService_Factory() { return new BixiACService(); }, token: BixiACService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ BixiACService.prototype._permissions; /** * @type {?} * @private */ BixiACService.prototype._roles; /** * @type {?} * @private */ BixiACService.prototype._roles$; /** * @type {?} * @private */ BixiACService.prototype._permissions$; } export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4 }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvc3RldmVuemhvbmcvQ29kZS93b3JrQ29kZS9iaXhpX2FuZ3VsYXIvcGFja2FnZXMvYWMvIiwic291cmNlcyI6WyJzcmMvYWMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFFdkMsdUJBRUM7OztJQURDLDBCQUFnQjs7O01BR1osT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPOztNQUV2QixPQUFPOzs7O0FBQUcsQ0FBQyxRQUEyQixFQUFFLEVBQUU7SUFDOUMsSUFBSSxDQUFDLFFBQVE7UUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN6QixPQUFPLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ25ELENBQUMsQ0FBQTs7O01BRUssV0FBVzs7Ozs7QUFBRyxDQUFDLE1BQWdCLEVBQUUsRUFBRSxNQUFnQixFQUFFLEVBQUUsRUFBRTtJQUM3RCxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSTs7OztJQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO0FBQzFDLENBQUMsQ0FBQTs7O01BRUssVUFBVTs7Ozs7QUFBRyxDQUFDLE1BQWdCLEVBQUUsRUFBRSxNQUFnQixFQUFFLEVBQUUsRUFBRTtJQUM1RCxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSzs7OztJQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQTs7O01BRUssY0FBYzs7Ozs7QUFBRyxDQUFDLE1BQWdCLEVBQUUs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QUM7Ozs7SUFFRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7O0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNwQixDQUFDOzs7WUFwREYsVUFBVSxTQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7Ozs7Ozs7SUFFaEMscUNBQW9DOzs7OztJQUNwQywrQkFBOEI7Ozs7O0lBQzlCLGdDQUFvRDs7Ozs7SUFDcEQsc0NBQTBEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmludGVyZmFjZSBJT3B0aW9ucyB7XG4gIGlzUm9sZTogYm9vbGVhbjtcbn1cblxuY29uc3QgaXNBcnJheSA9IEFycmF5LmlzQXJyYXk7XG5cbmNvbnN0IHRvQXJyYXkgPSAoc3RyT3JBcnI6IHN0cmluZyB8IHN0cmluZ1tdKSA9PiB7XG4gIGlmICghc3RyT3JBcnIpIHJldHVybiBbXTtcbiAgcmV0dXJuIGlzQXJyYXkoc3RyT3JBcnIpID8gc3RyT3JBcnIgOiBbc3RyT3JBcnJdO1xufTtcblxuY29uc3QgcGFydEluQXJyYXkgPSAoYWxsOiBzdHJpbmdbXSA9IFtdLCBzdWI6IHN0cmluZ1tdID0gW10pID0+IHtcbiAgcmV0dXJuICEhc3ViLmZpbmQocyA9PiBhbGwuaW5jbHVkZXMocykpO1xufTtcblxuY29uc3QgYWxsSW5BcnJheSA9IChhbGw6IHN0cmluZ1tdID0gW10sIHN1Yjogc3RyaW5nW10gPSBbXSkgPT4ge1xuICByZXR1cm4gISFzdWIuZXZlcnkocyA9PiBhbGwuaW5jbHVkZXMocykpO1xufTtcblxuY29uc3QgcGFydE5vdEluQXJyYXkgPSAoYWxsOiBzdHJpbmdbXSA9IFtdLCBzdWI6IHN0cmluZ1tdID0gW10pID0+IHtcbiAgcmV0dXJuICEhc3ViLmZpbmQocyA9PiAhYWxsLmluY2x1ZGVzKHMpKTtcbn07XG5cbmNvbnN0IGFsbE5vdEluQXJyYXkgPSAoYWxsOiBzdHJpbmdbXSA9IFtdLCBzdWI6IHN0cmluZ1tdID0gW10pID0+IHtcbiAgcmV0dXJuIHN1Yi5ldmVyeShzID0+ICFhbGwuaW5jbHVkZXMocykpO1xufTtcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBCaXhpQUNTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfcGVybWlzc2lvbnM6IHN0cmluZ1tdID0gW107XG4gIHByaXZhdGUgX3JvbGVzOiBzdHJpbmdbXSA9IFtdO1xuICBwcml2YXRlIF9yb2xlcyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZ1tdPihbXSk7XG4gIHByaXZhdGUgX3Blcm1pc3Npb25zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nW10+KFtdKTtcblxuICBnZXQgcm9sZXMkKCkge1xuICAgIHJldHVybiB0aGlzLl9yb2xlcyQ7XG4gIH1cblxuICBnZXQgcGVybWlzc2lvbnMkKCkge1xuICAgIHJldHVybiB0aGlzLl9wZXJtaXNzaW9ucyQ7XG4gIH1cblxuICBwdWJsaWMgYWMoZGF0YTogc3RyaW5nIHwgc3RyaW5nW10sIG9wdGlvbnM6IElPcHRpb25zID0geyBpc1JvbGU6IGZhbHNlIH0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gYWxsSW5BcnJheShvcHRpb25zLmlzUm9sZSA/IHRoaXMuX3JvbGVzIDogdGhpcy5fcGVybWlzc2lvbnMsIHRvQXJyYXkoZGF0YSkpO1xuICB9XG5cbiAgcHVibGljIGFjQW55KGRhdGE6IHN0cmluZyB8IHN0cmluZ1tdLCBvcHRpb25zOiBJT3B0aW9ucyA9IHsgaXNSb2xlOiBmYWxzZSB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHBhcnRJbkFycmF5KG9wdGlvbnMuaXNSb2xlID8gdGhpcy5fcm9sZXMgOiB0aGlzLl9wZXJtaXNzaW9ucywgdG9BcnJheShkYXRhKSk7XG4gIH1cblxuICBwdWJsaWMgYWNlKGRhdGE6IHN0cmluZyB8IHN0cmluZ1tdLCBvcHRpb25zOiBJT3B0aW9ucyA9IHsgaXNSb2xlOiBmYWxzZSB9KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFsbE5vdEluQXJyYXkob3B0aW9ucy5pc1JvbGUgPyB0aGlzLl9yb2xlcyA6IHRoaXMuX3Blcm1pc3Npb25zLCB0b0FycmF5KGRhdGEpKTtcbiAgfVxuXG4gIHB1YmxpYyBhY2VBbnkoZGF0YTogc3RyaW5nIHwgc3RyaW5nW10sIG9wdGlvbnM6IElPcHRpb25zID0geyBpc1JvbGU6IGZhbHNlIH0pOiBib29sZWFuIHtcbiAgICByZXR1cm4gcGFydE5vdEluQXJyYXkob3B0aW9ucy5pc1JvbGUgPyB0aGlzLl9yb2xlcyA6IHRoaXMuX3Blcm1pc3Npb25zLCB0b0FycmF5KGRhdGEpKTtcbiAgfVxuXG4gIHNldFBlcm1pc3Npb25zKHBlcm1pc3Npb25zOiBzdHJpbmcgfCBzdHJpbmdbXSk6IHZvaWQge1xuICAgIHRoaXMuX3Blcm1pc3Npb25zID0gdG9BcnJheShwZXJtaXNzaW9ucyk7XG4gICAgdGhpcy5fcGVybWlzc2lvbnMkLm5leHQodGhpcy5fcGVybWlzc2lvbnMpO1xuICB9XG5cbiAgc2V0Um9sZXMocm9sZXM6IHN0cmluZyB8IHN0cmluZ1tdKTogdm9pZCB7XG4gICAgdGhpcy5fcm9sZXMgPSB0b0FycmF5KHJvbGVzKTtcbiAgICB0aGlzLl9yb2xlcyQubmV4dCh0aGlzLl9yb2xlcyk7XG4gIH1cblxuICBnZXRQZXJtaXNzaW9ucygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3Blcm1pc3Npb25zIHx8IFtdO1xuICB9XG5cbiAgZ2V0Um9sZXMoKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLl9yb2xlcyB8fCBbXTtcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuc2V0UGVybWlzc2lvbnMoW10pO1xuICAgIHRoaXMuc2V0Um9sZXMoW10pO1xuICB9XG59XG4iXX0=