@bixi/ac
Version:
200 lines • 11.7 kB
JavaScript
/**
* @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=