@infordata-web/portal-common-component-lib
Version:
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 10.0.14.
79 lines • 12.9 kB
JavaScript
const isDefined = x => x !== undefined;
const ɵ0 = isDefined;
const isUndefined = x => x === undefined;
const ɵ1 = isUndefined;
const isNotUndefined = x => not(isUndefined(x));
const ɵ2 = isNotUndefined;
const isNull = x => x === null;
const ɵ3 = isNull;
const isNullOrUndefined = x => isNull(x) || isUndefined(x);
const ɵ4 = isNullOrUndefined;
const isNotNull = x => x !== null;
const ɵ5 = isNotNull;
const isNotNullOrUndefined = x => not(isNullOrUndefined(x));
const ɵ6 = isNotNullOrUndefined;
const isString = x => typeof x == "string";
const ɵ7 = isString;
const self = x => x;
const ɵ8 = self;
const curry = (v) => () => v;
const ɵ9 = curry;
const bind = (f) => thisArg => f.bind(thisArg);
const ɵ10 = bind;
const partial1 = (f) => a1 => args => f(a1, ...args);
const ɵ11 = partial1;
const lazyApply1 = (f) => a1 => f(a1);
const ɵ12 = lazyApply1;
const is = (a) => b => a === b;
const ɵ13 = is;
const isGreaterThan = (a) => (b) => b > a;
const ɵ14 = isGreaterThan;
const isLessThan = (a) => (b) => b < a;
const ɵ15 = isLessThan;
const isGreaterOrEqualTo = (a) => (b) => b >= a;
const ɵ16 = isGreaterOrEqualTo;
const isLessOrEqualTo = (a) => (b) => b <= a;
const ɵ17 = isLessOrEqualTo;
const not = (a) => !a;
const ɵ18 = not;
const coalesce = (obj, orValue) => (v => (v.valueOf = () => isDefined(obj) ? obj : orValue, v))((prop) => coalesce((obj || {})[prop], orValue));
const ɵ19 = coalesce;
const givenMap = ({
[true]: () => givenFound,
[false]: () => givenNotFound
});
const givenFound = (x, newVal) => ({
when: () => givenFound(x, newVal),
otherwise: () => givenFound(x, newVal),
valueOf: curry(newVal)
});
const ɵ20 = givenFound;
const givenNotFound = (x, newVal) => ({
when: (condition, newVal) => givenMap[condition(x)]()(x, newVal),
otherwise: val => givenNotFound(x, val),
valueOf: curry(newVal)
});
const ɵ21 = givenNotFound;
const given = (x) => ({
when: (condition, newVal) => givenMap[condition(x)]()(x, newVal),
otherwise: curry,
valueOf: curry(x)
});
const ɵ22 = given;
const ftor = x => ({ map: f => ftor(f(x)), valueOf: curry(x) });
const ɵ23 = ftor;
const protoOf = x => given(x)
.when(isNull, curry(null))
.when(isUndefined, curry(undefined))
.otherwise(() => Object.getPrototypeOf(x))
.valueOf()();
const ɵ24 = protoOf;
const constructorOf = x => protoOf(x).constructor;
const ɵ25 = constructorOf;
const annotationsOf = x => constructorOf(x)['__annotations__'];
const ɵ26 = annotationsOf;
const constructorNameOf = x => constructorOf(x).name;
const ɵ27 = constructorNameOf;
export { curry, bind, partial1, lazyApply1, is, coalesce, not, given, protoOf, constructorOf, annotationsOf, self, isGreaterThan, isLessThan, isGreaterOrEqualTo, isLessOrEqualTo, isNull, isDefined, isUndefined, isNullOrUndefined, isNotNull, isNotNullOrUndefined, ftor, isNotUndefined, constructorNameOf };
export { ɵ0, ɵ1, ɵ2, ɵ3, ɵ4, ɵ5, ɵ6, ɵ7, ɵ8, ɵ9, ɵ10, ɵ11, ɵ12, ɵ13, ɵ14, ɵ15, ɵ16, ɵ17, ɵ18, ɵ19, ɵ20, ɵ21, ɵ22, ɵ23, ɵ24, ɵ25, ɵ26, ɵ27 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm51dGlscy5qcyIsInNvdXJjZVJvb3QiOiJDOi9Qcm9nZXR0aS9EQUcvc29yZ2VudGkvZ2l0bGFiLXNvZnR3YXJlZmFjdG9yeS9jb21tb24tY29tcG9uZW50LWxpYi9wcm9qZWN0cy9wb3J0YWwtY29tbW9uLWNvbXBvbmVudC1saWIvc3JjLyIsInNvdXJjZXMiOlsibGliL2RlcG9zaXRpL3V0aWxzL2ZudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssU0FBUyxDQUFDOztBQUN2QyxNQUFNLFdBQVcsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLENBQUM7O0FBQ3pDLE1BQU0sY0FBYyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUNoRCxNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7O0FBQy9CLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDOztBQUMzRCxNQUFNLFNBQVMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUM7O0FBQ2xDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7QUFDNUQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxRQUFRLENBQUE7O0FBRTFDLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDOztBQUNwQixNQUFNLEtBQUssR0FBRyxDQUFJLENBQUksRUFBRSxFQUFFLENBQUMs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QyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQzs7QUFFckQsT0FBTyxFQUNOLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLElBQUksRUFDM0MsYUFBYSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQzlELE1BQU0sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFNBQVMsRUFDNUQsb0JBQW9CLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFDN0QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGlzRGVmaW5lZCA9IHggPT4geCAhPT0gdW5kZWZpbmVkO1xyXG5jb25zdCBpc1VuZGVmaW5lZCA9IHggPT4geCA9PT0gdW5kZWZpbmVkO1xyXG5jb25zdCBpc05vdFVuZGVmaW5lZCA9IHggPT4gbm90KGlzVW5kZWZpbmVkKHgpKTtcclxuY29uc3QgaXNOdWxsID0geCA9PiB4ID09PSBudWxsO1xyXG5jb25zdCBpc051bGxPclVuZGVmaW5lZCA9IHggPT4gaXNOdWxsKHgpIHx8IGlzVW5kZWZpbmVkKHgpO1xyXG5jb25zdCBpc05vdE51bGwgPSB4ID0+IHggIT09IG51bGw7XHJcbmNvbnN0IGlzTm90TnVsbE9yVW5kZWZpbmVkID0geCA9PiBub3QoaXNOdWxsT3JVbmRlZmluZWQoeCkpO1xyXG5jb25zdCBpc1N0cmluZyA9IHggPT4gdHlwZW9mIHggPT0gXCJzdHJpbmdcIlxyXG5cclxuY29uc3Qgc2VsZiA9IHggPT4geDtcclxuY29uc3QgY3VycnkgPSA8VD4odjogVCkgPT4gKCkgPT4gdjtcclxuY29uc3QgYmluZCA9IDxUIGV4dGVuZHMgRnVuY3Rpb24+KGY6IFQpID0+IHRoaXNBcmcgPT4gZi5iaW5kKHRoaXNBcmcpO1xyXG5jb25zdCBwYXJ0aWFsMSA9IDxUIGV4dGVuZHMgRnVuY3Rpb24+KGY6IFQpID0+IGExID0+IGFyZ3MgPT4gZihhMSwgLi4uYXJncyk7XHJcbmNvbnN0IGxhenlBcHBseTEgPSA8VCBleHRlbmRzIEZ1bmN0aW9uPihmOiBUKSA9PiBhMSA9PiBmKGExKTtcclxuY29uc3QgaXMgPSA8VD4oYTogVCkgPT4gYiA9PiBhID09PSBiO1xyXG5jb25zdCBpc0dyZWF0ZXJUaGFuID0gKGE6IG51bWJlcikgPT4gKGI6IG51bWJlcikgPT4gYiA+IGE7XHJcbmNvbnN0IGlzTGVzc1RoYW4gPSAoYTogbnVtYmVyKSA9PiAoYjogbnVtYmVyKSA9PiBiIDwgYTtcclxuY29uc3QgaXNHcmVhdGVyT3JFcXVhbFRvID0gKGE6IG51bWJlcikgPT4gKGI6IG51bWJlcikgPT4gYiA+PSBhO1xyXG5jb25zdCBpc0xlc3NPckVxdWFsVG8gPSAoYTogbnVtYmVyKSA9PiAoYjogbnVtYmVyKSA9PiBiIDw9IGE7XHJcbmNvbnN0IG5vdCA9IChhOiBib29sZWFuKSA9PiAhYTtcclxuXHJcbnR5cGUgQ29uc3VtZXI8VD4gPVxyXG5cdCh4OiBUKSA9PiB2b2lkO1xyXG5cclxudHlwZSBQcmVkaWNhdGU8VD4gPVxyXG5cdCh4OiBUKSA9PiBib29sZWFuO1xyXG5cclxudHlwZSBDb2FsZXNjZU1vbmFkRm91bmQ8VD4gPVxyXG5cdChwcm9wOiBrZXlvZiBUKSA9PiBDb2FsZXNjZU1vbmFkRm91bmQ8VD4gJiB7IHZhbHVlT2Y6ICgpID0+IFQgfTtcclxudHlwZSBDb2FsZXNjZU1vbmFkTm90Rm91bmQ8VCwgSz4gPVxyXG5cdChvclZhbHVlOiBLKSA9PiBDb2FsZXNjZU1vbmFkTm90Rm91bmQ8VCwgSz47XHJcbnR5cGUgQ29hbGVzY2VNb25hZDxULCBLPiA9XHJcblx0Q29hbGVzY2VNb25hZE5vdEZvdW5kPFQsIFQgfCBLPiAmIENvYWxlc2NlTW9uYWRGb3VuZDxUPjtcclxuXHJcbmNvbnN0IGNvYWxlc2NlID0gPFQsIEs+KG9iajogVCwgb3JWYWx1ZTogSyk6IENvYWxlc2NlTW9uYWQ8VCwgSz4gPT5cclxuXHQodiA9PiAodi52YWx1ZU9mID0gKCkgPT4gaXNEZWZpbmVkKG9iaikgPyBvYmogOiBvclZhbHVlLCB2KSlcclxuXHRcdCgocHJvcCkgPT4gY29hbGVzY2UoKG9iaiB8fCB7fSlbcHJvcF0sIG9yVmFsdWUpKSBhcyBhbnk7XHJcblxyXG50eXBlIEdpdmVuTW9uYWQ8VCwgSz4gPVxyXG5cdHtcclxuXHRcdHdoZW46IChjb25kaXRpb246IFByZWRpY2F0ZTxUPiwgbmV3VmFsdWU6IEspID0+IEdpdmVuTW9uYWQ8VCwgSz5cclxuXHRcdCwgb3RoZXJ3aXNlOiAoZWxzZVZhbHVlOiBLKSA9PiBQaWNrPEdpdmVuTW9uYWQ8VCwgSz4sICd2YWx1ZU9mJz5cclxuXHRcdCwgdmFsdWVPZjogKCkgPT4gS1xyXG5cdH07XHJcblxyXG5jb25zdCBnaXZlbk1hcCA9IChcclxuXHR7XHJcblx0XHRbPGFueT50cnVlXTogKCkgPT4gZ2l2ZW5Gb3VuZFxyXG5cdFx0LCBbPGFueT5mYWxzZV06ICgpID0+IGdpdmVuTm90Rm91bmRcclxuXHR9KTtcclxuY29uc3QgZ2l2ZW5Gb3VuZCA9ICh4LCBuZXdWYWwpID0+IChcclxuXHR7XHJcblx0XHR3aGVuOiAoKSA9PiBnaXZlbkZvdW5kKHgsIG5ld1ZhbClcclxuXHRcdCwgb3RoZXJ3aXNlOiAoKSA9PiBnaXZlbkZvdW5kKHgsIG5ld1ZhbClcclxuXHRcdCwgdmFsdWVPZjogY3VycnkobmV3VmFsKVxyXG5cdH0pO1xyXG5jb25zdCBnaXZlbk5vdEZvdW5kID0gKHgsIG5ld1ZhbCkgPT4gKFxyXG5cdHtcclxuXHRcdHdoZW46IChjb25kaXRpb24sIG5ld1ZhbCkgPT4gZ2l2ZW5NYXBbY29uZGl0aW9uKHgpXSgpKHgsIG5ld1ZhbClcclxuXHRcdCwgb3RoZXJ3aXNlOiB2YWwgPT4gZ2l2ZW5Ob3RGb3VuZCh4LCB2YWwpXHJcblx0XHQsIHZhbHVlT2Y6IGN1cnJ5KG5ld1ZhbClcclxuXHR9KTtcclxuY29uc3QgZ2l2ZW4gPSA8VCwgSz4oeDogVCk6IEdpdmVuTW9uYWQ8VCwgSz4gPT4gKFxyXG5cdHtcclxuXHRcdHdoZW46IChjb25kaXRpb246IFByZWRpY2F0ZTxUPiwgbmV3VmFsKSA9PlxyXG5cdFx0XHRnaXZlbk1hcFs8YW55PmNvbmRpdGlvbih4KV0oKSh4LCBuZXdWYWwpXHJcblx0XHQsIG90aGVyd2lzZTogY3VycnlcclxuXHRcdCwgdmFsdWVPZjogY3VycnkoeClcclxuXHR9KSBhcyBhbnk7XHJcblxyXG5jb25zdCBmdG9yID0geCA9PiAoeyBtYXA6IGYgPT4gZnRvcihmKHgpKSwgdmFsdWVPZjogY3VycnkoeCkgfSk7XHJcblxyXG5jb25zdCBwcm90b09mID0geCA9PiBnaXZlbjxhbnksICgpID0+IE9iamVjdD4oeClcclxuXHQud2hlbihpc051bGwsIGN1cnJ5KG51bGwpKVxyXG5cdC53aGVuKGlzVW5kZWZpbmVkLCBjdXJyeSh1bmRlZmluZWQpKVxyXG5cdC5vdGhlcndpc2UoKCkgPT4gT2JqZWN0LmdldFByb3RvdHlwZU9mKHgpKVxyXG5cdC52YWx1ZU9mKCkoKTtcclxuXHJcbmNvbnN0IGNvbnN0cnVjdG9yT2YgPSB4ID0+IHByb3RvT2YoeCkuY29uc3RydWN0b3I7XHJcbmNvbnN0IGFubm90YXRpb25zT2YgPSB4ID0+IGNvbnN0cnVjdG9yT2YoeClbJ19fYW5ub3RhdGlvbnNfXyddO1xyXG5jb25zdCBjb25zdHJ1Y3Rvck5hbWVPZiA9IHggPT4gY29uc3RydWN0b3JPZih4KS5uYW1lO1xyXG5cclxuZXhwb3J0IHtcclxuXHRjdXJyeSwgYmluZCwgcGFydGlhbDEsIGxhenlBcHBseTEsIGlzLCBjb2FsZXNjZSwgbm90LCBnaXZlbixcclxuXHRwcm90b09mLCBjb25zdHJ1Y3Rvck9mLCBhbm5vdGF0aW9uc09mLCBzZWxmLCBQcmVkaWNhdGUsIENvbnN1bWVyLFxyXG5cdGlzR3JlYXRlclRoYW4sIGlzTGVzc1RoYW4sIGlzR3JlYXRlck9yRXF1YWxUbywgaXNMZXNzT3JFcXVhbFRvLFxyXG5cdGlzTnVsbCwgaXNEZWZpbmVkLCBpc1VuZGVmaW5lZCwgaXNOdWxsT3JVbmRlZmluZWQsIGlzTm90TnVsbCxcclxuXHRpc05vdE51bGxPclVuZGVmaW5lZCwgZnRvciwgaXNOb3RVbmRlZmluZWQsIGNvbnN0cnVjdG9yTmFtZU9mXHJcbn07XHJcbiJdfQ==