UNPKG

cf-common-lib

Version:

Object Validators and Utilities

42 lines 3.94 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Pipe } from "@angular/core"; export class OrderByPipe { /** * @param {?} array * @param {?} orderField * @param {?} orderType * @return {?} */ transform(array, orderField, orderType) { array.sort((/** * @param {?} a * @param {?} b * @return {?} */ (a, b) => { /** @type {?} */ let ae = a[orderField]; /** @type {?} */ let be = b[orderField]; if (ae == undefined && be == undefined) return 0; if (ae == undefined && be != undefined) return orderType ? 1 : -1; if (ae != undefined && be == undefined) return orderType ? -1 : 1; if (ae == be) return 0; return orderType ? (ae.toString().toLowerCase() > be.toString().toLowerCase() ? -1 : 1) : (be.toString().toLowerCase() > ae.toString().toLowerCase() ? -1 : 1); })); return array; } } OrderByPipe.decorators = [ { type: Pipe, args: [{ name: 'orderBy' },] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItYnkucGlwZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2NmLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvcGlwZXMvb3JkZXItYnkucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFJcEQsTUFBTSxPQUFPLFdBQVc7Ozs7Ozs7SUFDeEIsU0FBUyxDQUFFLEtBQWlCLEVBQUUsVUFBa0IsRUFBRSxTQUFrQjtRQUNoRSxLQUFLLENBQUMsSUFBSTs7Ozs7UUFBRSxDQUFFLENBQU0sRUFBRSxDQUFNLEVBQUcsRUFBRTs7Z0JBQ3pCLEVBQUUsR0FBRyxDQUFDLENBQUUsVUFBVSxDQUFFOztnQkFDcEIsRUFBRSxHQUFHLENBQUMsQ0FBRSxVQUFVLENBQUU7WUFDeEIsSUFBSyxFQUFFLElBQUksU0FBUyxJQUFJLEVBQUUsSUFBSSxTQUFTO2dCQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQ25ELElBQUssRUFBRSxJQUFJLFNBQVMsSUFBSSxFQUFFLElBQUksU0FBUztnQkFBRyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFLLEVBQUUsSUFBSSxTQUFTLElBQUksRUFBRSxJQUFJLFNBQVM7Z0JBQUcsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDcEUsSUFBSyxFQUFFLElBQUksRUFBRTtnQkFBRyxPQUFPLENBQUMsQ0FBQztZQUN6QixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25LLENBQUMsRUFBRSxDQUFDO1FBQ0osT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDOzs7WUFmRixJQUFJLFNBQUU7Z0JBQ1AsSUFBSSxFQUFFLFNBQVM7YUFDZCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuQFBpcGUoIHtcbm5hbWU6ICdvcmRlckJ5J1xufSApXG5leHBvcnQgY2xhc3MgT3JkZXJCeVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbnRyYW5zZm9ybSggYXJyYXk6IEFycmF5PGFueT4sIG9yZGVyRmllbGQ6IHN0cmluZywgb3JkZXJUeXBlOiBib29sZWFuICk6IEFycmF5PHN0cmluZz4ge1xuICAgIGFycmF5LnNvcnQoICggYTogYW55LCBiOiBhbnkgKSA9PiB7XG4gICAgICAgIGxldCBhZSA9IGFbIG9yZGVyRmllbGQgXTtcbiAgICAgICAgbGV0IGJlID0gYlsgb3JkZXJGaWVsZCBdO1xuICAgICAgICBpZiAoIGFlID09IHVuZGVmaW5lZCAmJiBiZSA9PSB1bmRlZmluZWQgKSByZXR1cm4gMDtcbiAgICAgICAgaWYgKCBhZSA9PSB1bmRlZmluZWQgJiYgYmUgIT0gdW5kZWZpbmVkICkgcmV0dXJuIG9yZGVyVHlwZSA/IDEgOiAtMTtcbiAgICAgICAgaWYgKCBhZSAhPSB1bmRlZmluZWQgJiYgYmUgPT0gdW5kZWZpbmVkICkgcmV0dXJuIG9yZGVyVHlwZSA/IC0xIDogMTtcbiAgICAgICAgaWYgKCBhZSA9PSBiZSApIHJldHVybiAwO1xuICAgICAgICByZXR1cm4gb3JkZXJUeXBlID8gKGFlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA+IGJlLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA/IC0xIDogMSkgOiAoYmUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID4gYWUudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID8gLTEgOiAxKTtcbiAgICB9ICk7XG4gICAgcmV0dXJuIGFycmF5O1xuICB9XG59Il19