@bixi/auth
Version:
155 lines • 11.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: src/auth.config.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Inject, Injectable, Optional } from '@angular/core';
import extend from 'extend';
import { BIXI_AUTH_CONFIG } from './config.type';
import * as i0 from "@angular/core";
import * as i1 from "./config.type";
/**
* 深度合并对象
*
* @param {?} original 原始对象
* @param {?} arrayProcessMethod 数组处理方式
* - `true` 表示替换新值,不管新值为哪种类型
* - `false` 表示会合并整个数组(将旧数据与新数据合并成新数组)
* @param {...?} objects 要合并的对象
* @return {?}
*/
// tslint:disable-next-line:no-any
function deepMergeKey(original, arrayProcessMethod, ...objects) {
if (Array.isArray(original) || typeof original !== 'object')
return original;
// tslint:disable-next-line:no-any
/** @type {?} */
const isObject = (/**
* @param {?} v
* @return {?}
*/
(v) => typeof v === 'object' || typeof v === 'function');
// tslint:disable-next-line:no-any
/** @type {?} */
const merge = (/**
* @param {?} target
* @param {?} obj
* @return {?}
*/
(target, obj) => {
Object.keys(obj)
.filter((/**
* @param {?} key
* @return {?}
*/
key => key !== '__proto__' && Object.prototype.hasOwnProperty.call(obj, key)))
.forEach((/**
* @param {?} key
* @return {?}
*/
key => {
/** @type {?} */
const fromValue = obj[key];
/** @type {?} */
const toValue = target[key];
if (Array.isArray(toValue)) {
target[key] = arrayProcessMethod ? fromValue : [...toValue, ...fromValue];
}
else if (fromValue != null && isObject(fromValue) && toValue != null && isObject(toValue)) {
target[key] = merge(toValue, fromValue);
}
else {
target[key] = deepCopy(fromValue);
}
}));
return target;
});
objects.filter((/**
* @param {?} v
* @return {?}
*/
v => v != null && isObject(v))).forEach((/**
* @param {?} v
* @return {?}
*/
v => merge(original, v)));
return original;
}
// tslint:disable-next-line:no-any
/**
* @param {?} obj
* @return {?}
*/
function deepCopy(obj) {
/** @type {?} */
const result = extend(true, {}, { _: obj });
return result._;
}
export class BixiConfigService {
/**
* @param {?=} defaultConfig
*/
constructor(defaultConfig) {
this.config = defaultConfig || {};
}
/**
* @param {?=} key
* @return {?}
*/
get(key) {
// tslint:disable-next-line:no-any
/** @type {?} */
const res = (/** @type {?} */ ((((/** @type {?} */ (this.config))) || {})));
return key ? { [key]: res[key] } : res;
}
/**
* @template R
* @param {...?} defaultValues
* @return {?}
*/
merge(...defaultValues) {
return deepMergeKey({}, true, ...defaultValues, this.get());
}
// tslint:disable-next-line:no-any
/**
* @template R
* @param {?} componentThis
* @param {?} defaultValues
* @return {?}
*/
attach(componentThis, defaultValues) {
Object.assign(componentThis, this.merge(defaultValues));
}
// tslint:disable-next-line:no-any
/**
* @param {?} componentThis
* @param {?} key
* @return {?}
*/
attachKey(componentThis, key) {
Object.assign(componentThis, this.get(key));
}
/**
* @param {?} value
* @return {?}
*/
set(value) {
this.config = Object.assign(Object.assign({}, this.config), value);
}
}
BixiConfigService.decorators = [
{ type: Injectable, args: [{ providedIn: 'root' },] }
];
/** @nocollapse */
BixiConfigService.ctorParameters = () => [
{ type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [BIXI_AUTH_CONFIG,] }] }
];
/** @nocollapse */ BixiConfigService.ɵprov = i0.ɵɵdefineInjectable({ factory: function BixiConfigService_Factory() { return new BixiConfigService(i0.ɵɵinject(i1.BIXI_AUTH_CONFIG, 8)); }, token: BixiConfigService, providedIn: "root" });
if (false) {
/**
* @type {?}
* @private
*/
BixiConfigService.prototype.config;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIvVXNlcnMvc3RldmVuemhvbmcvQ29kZS93b3JrQ29kZS9iaXhpX2FuZ3VsYXIvcGFja2FnZXMvYXV0aC8iLCJzb3VyY2VzIjpbInNyYy9hdXRoLmNvbmZpZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUM1QixPQUFPLEVBQWtCLGdCQUFnQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7Ozs7OztBQVlqRSxTQUFTLFlBQVksQ0FBQyxRQUFhLEVBQUUsa0JBQTJCLEVBQUUsR0FBRyxPQUFjO0lBQ2pGLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRO1FBQUUsT0FBTyxRQUFRLENBQUM7OztVQUd2RSxRQUFROzs7O0lBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxPQUFPLENBQUMsS0FBSyxVQUFVLENBQUE7OztVQUd2RSxLQUFLOzs7OztJQUFHLENBQUMsTUFBVyxFQUFFLEdBQVEsRUFBRSxFQUFFO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2FBQ2IsTUFBTTs7OztRQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFDO2FBQ3BGLE9BQU87Ozs7UUFBQyxHQUFHLENBQUMsRUFBRTs7a0JBQ1AsU0FBUyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7O2tCQUNwQixPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztZQUMzQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzFCLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsT0FBTyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7YUFDM0U7aUJBQU0sSUFBSSxTQUFTLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxPQUFPLElBQUksSUFBSSxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDM0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7YUFDekM7aUJBQU07Z0JBQ0wsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUNuQztRQUNILENBQUMsRUFBQyxDQUFDO1FBQ0wsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQyxDQUFBO0lBRUQsT0FBTyxDQUFDLE1BQU07Ozs7SUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxFQUFDLENBQUMsT0FBTzs7OztJQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsRUFBQyxDQUFDO0lBRS9FLE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7Ozs7OztBQUdELFNBQVMsUUFBUSxDQUFDLEdBQVE7O1VBQ2xCLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUMzQyxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFDbEIsQ0FBQztBQUdELE1BQU0sT0FBTyxpQkFBaUI7Ozs7SUFHNUIsWUFBa0QsYUFBOEI7UUFDOUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxhQUFhLElBQUksRUFBRSxDQUFDO0lBQ3BDLENBQUM7Ozs7O0lBRUQsR0FBRyxDQUFDLEdBQVk7OztjQUVSLEdBQUcsR0FBRyxtQkFBQSxDQUFDLENBQUMsbUJBQUEsSUFBSSxDQUFDLE1BQU0sRUFBMEIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFPO1FBQ2xFLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUN6QyxDQUFDOzs7Ozs7SUFFRCxLQUFLLENBQUksR0FBRyxhQUFrQjtRQUM1QixPQUFPLFlBQVksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7Ozs7Ozs7O0lBR0QsTUFBTSxDQUFJLGFBQWtCLEVBQUUsYUFBZ0I7UUFDNUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7Ozs7Ozs7SUFHRCxTQUFTLENBQUMsYUFBa0IsRUFBRSxHQUFXO1FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7OztJQUVELEdBQUcsQ0FBQyxLQUFxQjtRQUN2QixJQUFJLENBQUMsTUFBTSxtQ0FBUSxJQUFJLENBQUMsTUFBTSxHQUFLLEtBQUssQ0FBRSxDQUFDO0lBQzdDLENBQUM7OztZQTlCRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7OzRDQUluQixRQUFRLFlBQUksTUFBTSxTQUFDLGdCQUFnQjs7Ozs7Ozs7SUFGaEQsbUNBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IGV4dGVuZCBmcm9tICdleHRlbmQnO1xuaW1wb3J0IHsgQml4aUF1dGhDb25maWcsIEJJWElfQVVUSF9DT05GSUcgfSBmcm9tICcuL2NvbmZpZy50eXBlJztcblxuLyoqXG4gKiDmt7HluqblkIjlubblr7nosaFcbiAqXG4gKiBAcGFyYW0gb3JpZ2luYWwg5Y6f5aeL5a+56LGhXG4gKiBAcGFyYW0gYXJyYXlQcm9jZXNzTWV0aG9kIOaVsOe7hOWkhOeQhuaWueW8j1xuICogIC0gYHRydWVgIOihqOekuuabv+aNouaWsOWAvO+8jOS4jeeuoeaWsOWAvOS4uuWTquenjeexu+Wei1xuICogIC0gYGZhbHNlYCDooajnpLrkvJrlkIjlubbmlbTkuKrmlbDnu4TvvIjlsIbml6fmlbDmja7kuI7mlrDmlbDmja7lkIjlubbmiJDmlrDmlbDnu4TvvIlcbiAqIEBwYXJhbSBvYmplY3RzIOimgeWQiOW5tueahOWvueixoVxuICovXG4vLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG5mdW5jdGlvbiBkZWVwTWVyZ2VLZXkob3JpZ2luYWw6IGFueSwgYXJyYXlQcm9jZXNzTWV0aG9kOiBib29sZWFuLCAuLi5vYmplY3RzOiBhbnlbXSk6IGFueSB7XG4gIGlmIChBcnJheS5pc0FycmF5KG9yaWdpbmFsKSB8fCB0eXBlb2Ygb3JpZ2luYWwgIT09ICdvYmplY3QnKSByZXR1cm4gb3JpZ2luYWw7XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuICBjb25zdCBpc09iamVjdCA9ICh2OiBhbnkpID0+IHR5cGVvZiB2ID09PSAnb2JqZWN0JyB8fCB0eXBlb2YgdiA9PT0gJ2Z1bmN0aW9uJztcblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gIGNvbnN0IG1lcmdlID0gKHRhcmdldDogYW55LCBvYmo6IGFueSkgPT4ge1xuICAgIE9iamVjdC5rZXlzKG9iailcbiAgICAgIC5maWx0ZXIoa2V5ID0+IGtleSAhPT0gJ19fcHJvdG9fXycgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSlcbiAgICAgIC5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIGNvbnN0IGZyb21WYWx1ZSA9IG9ialtrZXldO1xuICAgICAgICBjb25zdCB0b1ZhbHVlID0gdGFyZ2V0W2tleV07XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRvVmFsdWUpKSB7XG4gICAgICAgICAgdGFyZ2V0W2tleV0gPSBhcnJheVByb2Nlc3NNZXRob2QgPyBmcm9tVmFsdWUgOiBbLi4udG9WYWx1ZSwgLi4uZnJvbVZhbHVlXTtcbiAgICAgICAgfSBlbHNlIGlmIChmcm9tVmFsdWUgIT0gbnVsbCAmJiBpc09iamVjdChmcm9tVmFsdWUpICYmIHRvVmFsdWUgIT0gbnVsbCAmJiBpc09iamVjdCh0b1ZhbHVlKSkge1xuICAgICAgICAgIHRhcmdldFtrZXldID0gbWVyZ2UodG9WYWx1ZSwgZnJvbVZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YXJnZXRba2V5XSA9IGRlZXBDb3B5KGZyb21WYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiB0YXJnZXQ7XG4gIH07XG5cbiAgb2JqZWN0cy5maWx0ZXIodiA9PiB2ICE9IG51bGwgJiYgaXNPYmplY3QodikpLmZvckVhY2godiA9PiBtZXJnZShvcmlnaW5hbCwgdikpO1xuXG4gIHJldHVybiBvcmlnaW5hbDtcbn1cblxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOm5vLWFueVxuZnVuY3Rpb24gZGVlcENvcHkob2JqOiBhbnkpOiBhbnkge1xuICBjb25zdCByZXN1bHQgPSBleHRlbmQodHJ1ZSwge30sIHsgXzogb2JqIH0pO1xuICByZXR1cm4gcmVzdWx0Ll87XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQml4aUNvbmZpZ1NlcnZpY2Uge1xuICBwcml2YXRlIGNvbmZpZzogQml4aUF1dGhDb25maWc7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChCSVhJX0FVVEhfQ09ORklHKSBkZWZhdWx0Q29uZmlnPzogQml4aUF1dGhDb25maWcpIHtcbiAgICB0aGlzLmNvbmZpZyA9IGRlZmF1bHRDb25maWcgfHwge307XG4gIH1cblxuICBnZXQoa2V5Pzogc3RyaW5nKTogQml4aUF1dGhDb25maWcge1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgICBjb25zdCByZXMgPSAoKHRoaXMuY29uZmlnIGFzIHsgW2tleTogc3RyaW5nXTogYW55IH0pIHx8IHt9KSBhcyBhbnk7XG4gICAgcmV0dXJuIGtleSA/IHsgW2tleV06IHJlc1trZXldIH0gOiByZXM7XG4gIH1cblxuICBtZXJnZTxSPiguLi5kZWZhdWx0VmFsdWVzOiBSW10pOiBSIHtcbiAgICByZXR1cm4gZGVlcE1lcmdlS2V5KHt9LCB0cnVlLCAuLi5kZWZhdWx0VmFsdWVzLCB0aGlzLmdldCgpKTtcbiAgfVxuXG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1hbnlcbiAgYXR0YWNoPFI+KGNvbXBvbmVudFRoaXM6IGFueSwgZGVmYXVsdFZhbHVlczogUikge1xuICAgIE9iamVjdC5hc3NpZ24oY29tcG9uZW50VGhpcywgdGhpcy5tZXJnZShkZWZhdWx0VmFsdWVzKSk7XG4gIH1cblxuICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6bm8tYW55XG4gIGF0dGFjaEtleShjb21wb25lbnRUaGlzOiBhbnksIGtleTogc3RyaW5nKSB7XG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRUaGlzLCB0aGlzLmdldChrZXkpKTtcbiAgfVxuXG4gIHNldCh2YWx1ZTogQml4aUF1dGhDb25maWcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbmZpZyA9IHsgLi4udGhpcy5jb25maWcsIC4uLnZhbHVlIH07XG4gIH1cbn1cbiJdfQ==