UNPKG

angular-auth-oidc-client

Version:
86 lines 11.5 kB
import { Injectable } from '@angular/core'; import * as i0 from "@angular/core"; export class EqualityService { isStringEqualOrNonOrderedArrayEqual(value1, value2) { if (this.isNullOrUndefined(value1)) { return false; } if (this.isNullOrUndefined(value2)) { return false; } if (this.oneValueIsStringAndTheOtherIsArray(value1, value2)) { return false; } if (this.bothValuesAreStrings(value1, value2)) { return value1 === value2; } return this.arraysHaveEqualContent(value1, value2); } areEqual(value1, value2) { if (!value1 || !value2) { return false; } if (this.bothValuesAreArrays(value1, value2)) { return this.arraysStrictEqual(value1, value2); } if (this.bothValuesAreStrings(value1, value2)) { return value1 === value2; } if (this.bothValuesAreObjects(value1, value2)) { return JSON.stringify(value1).toLowerCase() === JSON.stringify(value2).toLowerCase(); } if (this.oneValueIsStringAndTheOtherIsArray(value1, value2)) { if (Array.isArray(value1) && this.valueIsString(value2)) { return value1[0] === value2; } if (Array.isArray(value2) && this.valueIsString(value1)) { return value2[0] === value1; } } return value1 === value2; } oneValueIsStringAndTheOtherIsArray(value1, value2) { return (Array.isArray(value1) && this.valueIsString(value2)) || (Array.isArray(value2) && this.valueIsString(value1)); } bothValuesAreObjects(value1, value2) { return this.valueIsObject(value1) && this.valueIsObject(value2); } bothValuesAreStrings(value1, value2) { return this.valueIsString(value1) && this.valueIsString(value2); } bothValuesAreArrays(value1, value2) { return Array.isArray(value1) && Array.isArray(value2); } valueIsString(value) { return typeof value === 'string' || value instanceof String; } valueIsObject(value) { return typeof value === 'object'; } arraysStrictEqual(arr1, arr2) { if (arr1.length !== arr2.length) { return false; } for (let i = arr1.length; i--;) { if (arr1[i] !== arr2[i]) { return false; } } return true; } arraysHaveEqualContent(arr1, arr2) { if (arr1.length !== arr2.length) { return false; } return arr1.some((v) => arr2.includes(v)); } isNullOrUndefined(val) { return val === null || val === undefined; } } EqualityService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: EqualityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); EqualityService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: EqualityService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: EqualityService, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXF1YWxpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC9zcmMvbGliL3V0aWxzL2VxdWFsaXR5L2VxdWFsaXR5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHM0MsTUFBTSxPQUFPLGVBQWU7SUFDMUIsbUNBQW1DLENBQUMsTUFBc0IsRUFBRSxNQUFzQjtRQUNoRixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNsQyxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEMsT0FBTyxLQUFLLENBQUM7U0FDZDtRQUVELElBQUksSUFBSSxDQUFDLGtDQUFrQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRTtZQUMzRCxPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQzdDLE9BQU8sTUFBTSxLQUFLLE1BQU0sQ0FBQztTQUMxQjtRQUVELE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLE1BQWUsRUFBRSxNQUFlLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsUUFBUSxDQUFDLE1BQStDLEVBQUUsTUFBK0M7UUFDdkcsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN0QixPQUFPLEtBQUssQ0FBQztTQUNkO1FBRUQsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLE1BQWUsRUFBRSxNQUFlLENBQUMsQ0FBQztTQUNqRTtR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SUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTyxpQkFBaUIsQ0FBQyxHQUFRO1FBQ2hDLE9BQU8sR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxDQUFDO0lBQzNDLENBQUM7OzRHQWxHVSxlQUFlO2dIQUFmLGVBQWU7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEVxdWFsaXR5U2VydmljZSB7XG4gIGlzU3RyaW5nRXF1YWxPck5vbk9yZGVyZWRBcnJheUVxdWFsKHZhbHVlMTogc3RyaW5nIHwgYW55W10sIHZhbHVlMjogc3RyaW5nIHwgYW55W10pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc051bGxPclVuZGVmaW5lZCh2YWx1ZTEpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNOdWxsT3JVbmRlZmluZWQodmFsdWUyKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm9uZVZhbHVlSXNTdHJpbmdBbmRUaGVPdGhlcklzQXJyYXkodmFsdWUxLCB2YWx1ZTIpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYm90aFZhbHVlc0FyZVN0cmluZ3ModmFsdWUxLCB2YWx1ZTIpKSB7XG4gICAgICByZXR1cm4gdmFsdWUxID09PSB2YWx1ZTI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXJyYXlzSGF2ZUVxdWFsQ29udGVudCh2YWx1ZTEgYXMgYW55W10sIHZhbHVlMiBhcyBhbnlbXSk7XG4gIH1cblxuICBhcmVFcXVhbCh2YWx1ZTE6IHN0cmluZyB8IGFueVtdIHwgYW55IHwgbnVsbCB8IHVuZGVmaW5lZCwgdmFsdWUyOiBzdHJpbmcgfCBhbnlbXSB8IGFueSB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICBpZiAoIXZhbHVlMSB8fCAhdmFsdWUyKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYm90aFZhbHVlc0FyZUFycmF5cyh2YWx1ZTEsIHZhbHVlMikpIHtcbiAgICAgIHJldHVybiB0aGlzLmFycmF5c1N0cmljdEVxdWFsKHZhbHVlMSBhcyBhbnlbXSwgdmFsdWUyIGFzIGFueVtdKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ib3RoVmFsdWVzQXJlU3RyaW5ncyh2YWx1ZTEsIHZhbHVlMikpIHtcbiAgICAgIHJldHVybiB2YWx1ZTEgPT09IHZhbHVlMjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ib3RoVmFsdWVzQXJlT2JqZWN0cyh2YWx1ZTEsIHZhbHVlMikpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZTEpLnRvTG93ZXJDYXNlKCkgPT09IEpTT04uc3RyaW5naWZ5KHZhbHVlMikudG9Mb3dlckNhc2UoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5vbmVWYWx1ZUlzU3RyaW5nQW5kVGhlT3RoZXJJc0FycmF5KHZhbHVlMSwgdmFsdWUyKSkge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUxKSAmJiB0aGlzLnZhbHVlSXNTdHJpbmcodmFsdWUyKSkge1xuICAgICAgICByZXR1cm4gdmFsdWUxWzBdID09PSB2YWx1ZTI7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZTIpICYmIHRoaXMudmFsdWVJc1N0cmluZyh2YWx1ZTEpKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTJbMF0gPT09IHZhbHVlMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUxID09PSB2YWx1ZTI7XG4gIH1cblxuICBwcml2YXRlIG9uZVZhbHVlSXNTdHJpbmdBbmRUaGVPdGhlcklzQXJyYXkodmFsdWUxOiBzdHJpbmcgfCBhbnkgfCBhbnlbXSwgdmFsdWUyOiBzdHJpbmcgfCBhbnkgfCBhbnlbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoQXJyYXkuaXNBcnJheSh2YWx1ZTEpICYmIHRoaXMudmFsdWVJc1N0cmluZyh2YWx1ZTIpKSB8fCAoQXJyYXkuaXNBcnJheSh2YWx1ZTIpICYmIHRoaXMudmFsdWVJc1N0cmluZyh2YWx1ZTEpKTtcbiAgfVxuXG4gIHByaXZhdGUgYm90aFZhbHVlc0FyZU9iamVjdHModmFsdWUxOiBzdHJpbmcgfCBhbnkgfCBhbnlbXSwgdmFsdWUyOiBzdHJpbmcgfCBhbnkgfCBhbnlbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlSXNPYmplY3QodmFsdWUxKSAmJiB0aGlzLnZhbHVlSXNPYmplY3QodmFsdWUyKTtcbiAgfVxuXG4gIHByaXZhdGUgYm90aFZhbHVlc0FyZVN0cmluZ3ModmFsdWUxOiBzdHJpbmcgfCBhbnkgfCBhbnlbXSwgdmFsdWUyOiBzdHJpbmcgfCBhbnkgfCBhbnlbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnZhbHVlSXNTdHJpbmcodmFsdWUxKSAmJiB0aGlzLnZhbHVlSXNTdHJpbmcodmFsdWUyKTtcbiAgfVxuXG4gIHByaXZhdGUgYm90aFZhbHVlc0FyZUFycmF5cyh2YWx1ZTE6IHN0cmluZyB8IGFueSB8IGFueVtdLCB2YWx1ZTI6IHN0cmluZyB8IGFueSB8IGFueVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkodmFsdWUxKSAmJiBBcnJheS5pc0FycmF5KHZhbHVlMik7XG4gIH1cblxuICBwcml2YXRlIHZhbHVlSXNTdHJpbmcodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IHZhbHVlIGluc3RhbmNlb2YgU3RyaW5nO1xuICB9XG5cbiAgcHJpdmF0ZSB2YWx1ZUlzT2JqZWN0KHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JztcbiAgfVxuXG4gIHByaXZhdGUgYXJyYXlzU3RyaWN0RXF1YWwoYXJyMTogQXJyYXk8c3RyaW5nPiwgYXJyMjogQXJyYXk8c3RyaW5nPik6IGJvb2xlYW4ge1xuICAgIGlmIChhcnIxLmxlbmd0aCAhPT0gYXJyMi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gYXJyMS5sZW5ndGg7IGktLTsgKSB7XG4gICAgICBpZiAoYXJyMVtpXSAhPT0gYXJyMltpXSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGFycmF5c0hhdmVFcXVhbENvbnRlbnQoYXJyMTogQXJyYXk8c3RyaW5nPiwgYXJyMjogQXJyYXk8c3RyaW5nPik6IGJvb2xlYW4ge1xuICAgIGlmIChhcnIxLmxlbmd0aCAhPT0gYXJyMi5sZW5ndGgpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJyMS5zb21lKCh2KSA9PiBhcnIyLmluY2x1ZGVzKHYpKTtcbiAgfVxuXG4gIHByaXZhdGUgaXNOdWxsT3JVbmRlZmluZWQodmFsOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdmFsID09PSBudWxsIHx8IHZhbCA9PT0gdW5kZWZpbmVkO1xuICB9XG59XG4iXX0=