UNPKG

ng-custom-pipe

Version:

An Angular Library, that gives you a hussle free experience on data operation using pipes

1 lines 141 kB
{"version":3,"file":"ng-custom-pipe.mjs","sources":["../../../projects/ng-custom-pipe/src/lib/ng-custom-pipe.service.ts","../../../projects/ng-custom-pipe/src/lib/ng-custom-pipe.component.ts","../../../projects/ng-custom-pipe/src/lib/number/handle-nan.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/upper.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/lower.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/trim.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/split.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/replace.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/match.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/capitalize.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/slug-it.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/reverse.pipe.ts","../../../projects/ng-custom-pipe/src/lib/aggregate/group-by.pipe.ts","../../../projects/ng-custom-pipe/src/lib/object/stringify.pipe.ts","../../../projects/ng-custom-pipe/src/lib/aggregate/average.pipe.ts","../../../projects/ng-custom-pipe/src/lib/aggregate/median.pipe.ts","../../../projects/ng-custom-pipe/src/lib/aggregate/mode.pipe.ts","../../../projects/ng-custom-pipe/src/lib/aggregate/maximum.pipe.ts","../../../projects/ng-custom-pipe/src/lib/aggregate/minimum.pipe.ts","../../../projects/ng-custom-pipe/src/lib/aggregate/sum.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/empty.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/first-item.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/last-item.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/pop-first-item.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/pop-last-item.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/join.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/set.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/except.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/and.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/or.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/range.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/map.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/pluck-property.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/filter.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/filter-one.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/sort.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/length.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/chunk.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/drop.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/flat.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/reverse-array.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/byte-convert-to.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/ceil.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/floor.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/round.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/to-degree.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/to-radian.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/power.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/sqroot.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/absolute.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/ordinal.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/integer-type.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-array.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-binary.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-defined.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-equal.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-function.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-identical.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-nil.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-null.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-number.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-object.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-string.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-truthy.pipe.ts","../../../projects/ng-custom-pipe/src/lib/boolean/is-undefined.pipe.ts","../../../projects/ng-custom-pipe/src/lib/object/key-array.pipe.ts","../../../projects/ng-custom-pipe/src/lib/object/to-array.pipe.ts","../../../projects/ng-custom-pipe/src/lib/object/normalise-obj-array.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/truncate.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/repeat.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/combine.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/interpolate.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/convert-to-base.pipe.ts","../../../projects/ng-custom-pipe/src/lib/array/order-by.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/de-latinize.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/mask.pipe.ts","../../../projects/ng-custom-pipe/src/lib/string/normalize.pipe.ts","../../../projects/ng-custom-pipe/src/lib/number/convert-to-word.pipe.ts","../../../projects/ng-custom-pipe/src/lib/ng-custom-pipe.module.ts","../../../projects/ng-custom-pipe/src/public-api.ts","../../../projects/ng-custom-pipe/src/ng-custom-pipe.ts"],"sourcesContent":["/** Copyright 2023 Infosys Ltd. */\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class NgCustomPipeService {\r\n\r\n constructor() { }\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'ng-custom-pipe',\r\n template: `\r\n <p>\r\n ng-custom-pipe works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class NgCustomPipeComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'handleNan'\r\n})\r\nexport class HandleNanPipe implements PipeTransform {\r\n private resString: string | number = '';\r\n\r\n transform(value: string | number | undefined, message?: string): unknown {\r\n if (!value || isNaN(+value)) {\r\n this.resString = message ? message : \"Invalid Number\";\r\n } else {\r\n this.resString = value;\r\n }\r\n return this.resString;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'upper'\r\n})\r\nexport class UpperPipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n return value ? value.toUpperCase() : 'NULL';\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'lower'\r\n})\r\nexport class LowerPipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n return value ? value.toLowerCase() : 'null';\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'trim'\r\n})\r\nexport class TrimPipe implements PipeTransform {\r\n\r\n transform(value: String, direction?: 'around' | 'left' | 'right' | 'start' | 'end' ): string {\r\n if (!direction || direction.toLowerCase()=='around') {\r\n return value.trim();\r\n } else if (direction.toLowerCase()=='left') {\r\n return value.trimLeft();\r\n } else if (direction.toLowerCase()=='right') {\r\n return value.trimRight();\r\n } else if (direction.toLowerCase()=='start') {\r\n return value.trimStart();\r\n } else if (direction.toLowerCase()=='end') {\r\n return value.trimEnd();\r\n }\r\n return '';\r\n }\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'split'\r\n})\r\nexport class SplitPipe implements PipeTransform {\r\n\r\n transform(value: string, separator?: string): string[] {\r\n if (!value) {\r\n return [];\r\n }\r\n\r\n if (!separator || separator=='') {\r\n return value.split('');\r\n } else {\r\n return value.split(separator)\r\n }\r\n }\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'replace'\r\n})\r\nexport class ReplacePipe implements PipeTransform {\r\n\r\n transform(value: string, textToBeReplaced: string, replacedText?: string): string {\r\n if (!value.includes(textToBeReplaced)) {\r\n return 'Text to be Replaced not found in Source String.';\r\n } else {\r\n if (!replacedText) {\r\n return value.replace(new RegExp(textToBeReplaced, 'g'), 'Default Text');\r\n } else {\r\n return value.replace(new RegExp(textToBeReplaced, 'g'), replacedText);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'match'\r\n})\r\nexport class MatchPipe implements PipeTransform {\r\n\r\n transform(value: string, match: string | RegExp): any {\r\n if(typeof(match)=='string') {\r\n match = match.toLowerCase();\r\n }\r\n let result: any = value.toLowerCase().match(match);\r\n if (result?.index>=0) {\r\n return result.index;\r\n } else {\r\n return 'No Match Found';\r\n }\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'capitalize'\r\n})\r\nexport class CapitalizePipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n let words: string[] = value.split(' ');\r\n let results: string[] = [];\r\n words.forEach((word: string) => {\r\n results.push(word[0].toUpperCase()+word.slice(1, word.length).toLowerCase());\r\n })\r\n return results.join(' ');\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'slugIt'\r\n})\r\nexport class SlugItPipe implements PipeTransform {\r\n\r\n transform(value: any): any {\r\n return typeof(value)==='string' ?\r\n value.toLowerCase().trim().replace(/[^\\w\\-]+/g, ' ').replace(/\\s+/g, '-') : value;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'reverse'\r\n})\r\nexport class ReversePipe implements PipeTransform {\r\n\r\n transform(value: string): string {\r\n let revString: string = '';\r\n\r\n for(let i=1; i<value.length+1; i++) {\r\n revString+=value[value.length-i];\r\n }\r\n\r\n return revString;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'groupBy'\r\n})\r\nexport class GroupByPipe implements PipeTransform {\r\n\r\n transform(value: Object[], col: string): { key: any; value: any[]; }[] {\r\n let result: { key: any; value: any[]; }[] = [];\r\n let group: string[] = [];\r\n\r\n value.forEach((row: any)=> {\r\n let key = row[col];\r\n if(!group.includes(key)) {\r\n result.push({key: key, value: [row]});\r\n group.push(key);\r\n } else {\r\n result.forEach(ar => {\r\n if (ar.key===key) {\r\n ar.value.push(row);\r\n }\r\n })\r\n }\r\n })\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'stringify'\r\n})\r\nexport class StringifyPipe implements PipeTransform {\r\n\r\n transform(value: any): string {\r\n return JSON.stringify(value);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'average'\r\n})\r\nexport class AveragePipe implements PipeTransform {\r\n\r\n transform(value: number[]): number {\r\n let sum: number = 0;\r\n value.forEach(num => sum+=num);\r\n \r\n return sum/value.length;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'median'\r\n})\r\nexport class MedianPipe implements PipeTransform {\r\n\r\n transform(value: number[]): number | null {\r\n if(!value || value.length==0) {\r\n return null;\r\n }\r\n \r\n const midIndex = Math.floor(value.length / 2);\r\n const numbers = value.sort((a, b) => a - b);\r\n\r\n return value.length % 2 !== 0 ? numbers[midIndex]\r\n : (numbers[midIndex - 1] + numbers[midIndex]) / 2;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'mode'\r\n})\r\nexport class ModePipe implements PipeTransform {\r\n\r\n transform(value: number[]): number | null {\r\n if(!value || value.length==0) {\r\n return null;\r\n }\r\n\r\n let mode: number = value[0];\r\n let count: number = 1;\r\n let modeObj: any = {};\r\n value.forEach((v: number)=> {\r\n if(modeObj[v]==null) {\r\n modeObj[v] = 1;\r\n } else {\r\n modeObj[v]+=1;\r\n }\r\n\r\n if (modeObj[v]>count) {\r\n mode = v;\r\n count = modeObj[v];\r\n }\r\n })\r\n return mode;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'maximum'\r\n})\r\nexport class MaximumPipe implements PipeTransform {\r\n\r\n transform(value: number[]): number {\r\n if(!value || value.length==0) {\r\n return 0;\r\n }\r\n \r\n return Math.max(...value);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'minimum'\r\n})\r\nexport class MinimumPipe implements PipeTransform {\r\n\r\n transform(value: number[]): number {\r\n if(!value || value.length==0) {\r\n return 0;\r\n }\r\n \r\n return Math.min(...value);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sum'\r\n})\r\nexport class SumPipe implements PipeTransform {\r\n\r\n transform(value: number[]): number {\r\n if(!value || value.length==0) {\r\n return 0;\r\n }\r\n \r\n let sum: number = 0;\r\n value.forEach(num => { sum+=num });\r\n return sum;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'empty'\r\n})\r\nexport class EmptyPipe implements PipeTransform {\r\n\r\n transform(value: any[]): boolean {\r\n if(!value) return true;\r\n return value.length===0;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'firstItem'\r\n})\r\nexport class FirstItemPipe implements PipeTransform {\r\n\r\n transform(value: any[]): any {\r\n if (!value || value.length===0) return null;\r\n return value[0];\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'lastItem'\r\n})\r\nexport class LastItemPipe implements PipeTransform {\r\n\r\n transform(value: any[]): any {\r\n if (!value || value.length===0) return null;\r\n return value[value.length-1];\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'popFirstItem'\r\n})\r\nexport class PopFirstItemPipe implements PipeTransform {\r\n\r\n transform(value: any[]): any[] {\r\n if (!value || value.length===0) return [];\r\n return value.slice(1, value.length);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'popLastItem'\r\n})\r\nexport class PopLastItemPipe implements PipeTransform {\r\n\r\n transform(value: any[]): any[] {\r\n if (!value || value.length===0) return [];\r\n return value.slice(0, value.length-1);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'join'\r\n})\r\nexport class JoinPipe implements PipeTransform {\r\n\r\n transform(value: string[], joiner?: string): string {\r\n if(!joiner) return value.join('');\r\n return value.join(joiner);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'set'\r\n})\r\nexport class SetPipe implements PipeTransform {\r\n\r\n transform(value: any[]): any[] {\r\n if(!value || value.length===0) return [];\r\n\r\n let result: any[] = [];\r\n value.forEach(val => {\r\n if(!result.includes(val)) {\r\n result.push(val)\r\n }\r\n })\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'except'\r\n})\r\nexport class ExceptPipe implements PipeTransform {\r\n\r\n transform(value: any[], exclusions: any[] | string | number): any[] {\r\n if (!value || value.length===0) return [];\r\n\r\n let result: any[] = [];\r\n\r\n if(typeof(exclusions)=='string' || typeof(exclusions)=='number') {\r\n value.forEach(val => {\r\n if (val!==exclusions) {\r\n result.push(val);\r\n }\r\n })\r\n } else {\r\n value.forEach(val => {\r\n if (!exclusions.includes(val)) {\r\n result.push(val);\r\n }\r\n })\r\n }\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'and'\r\n})\r\nexport class AndPipe implements PipeTransform {\r\n\r\n transform(value: any[], anotherArr: any[]): any[] {\r\n if (!value || value.length===0) return [];\r\n if (!anotherArr || anotherArr.length===0) return [];\r\n\r\n let result: any[] = [];\r\n\r\n value.forEach(val => {\r\n if(anotherArr.includes(val) && !result.includes(val)) {\r\n result.push(val);\r\n }\r\n })\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'or'\r\n})\r\nexport class OrPipe implements PipeTransform {\r\n\r\n transform(value: any[], anotherArr: any[]): any[] {\r\n if (!value || value.length===0) return anotherArr;\r\n if (!anotherArr || anotherArr.length===0) return value;\r\n\r\n let result: any[] = [];\r\n\r\n value.forEach(val => {\r\n if(!result.includes(val)) {\r\n result.push(val);\r\n }\r\n })\r\n \r\n anotherArr.forEach(val => {\r\n if(!result.includes(val)) {\r\n result.push(val);\r\n }\r\n })\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'range'\r\n})\r\nexport class RangePipe implements PipeTransform {\r\n\r\n transform(value: number[], start?: number, end?: number): number[] {\r\n if (!value || value.length===0) return [];\r\n if(!start) { start=Math.min(...value); }\r\n if(!end) { end=Math.max(...value); }\r\n\r\n let result: number[] = [];\r\n\r\n value.forEach(num => {\r\n // @ts-ignore\r\n if (num>=start && num<=end ) {\r\n result.push(num);\r\n }\r\n })\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'map'\r\n})\r\nexport class MapPipe implements PipeTransform {\r\n\r\n transform(value: any[], funct: Function): any[] {\r\n if (!value || value.length===0) return [];\r\n\r\n let result: any[] = [];\r\n result = value.map(val => funct(val));\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'pluckProperty'\r\n})\r\nexport class PluckPropertyPipe implements PipeTransform {\r\n\r\n transform(value: Object[], prop: string): any[] {\r\n if (!value || value.length===0) return [];\r\n\r\n let result: any[] = [];\r\n let props: string[] = prop.split('.');\r\n value.forEach((val: any) => {\r\n let res: any = val[props[0]];\r\n \r\n if(props.length>1) {\r\n for(let i=1; i<props.length;i++) {\r\n res=res[props[i]];\r\n }\r\n }\r\n if (res) {\r\n result.push(res)\r\n }\r\n })\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n\r\n transform(value: any[], param: [string, any] | string | number | Function): any[] {\r\n if (!value || value.length===0) return [];\r\n\r\n let resultArr: any[] = [];\r\n\r\n if (typeof(param)=='string' || typeof(param)=='number') {\r\n resultArr = value.filter(val => {return val===param});\r\n }\r\n\r\n if (typeof(param)=='object') {\r\n let prop = param[0];\r\n let props = prop.split('.');\r\n value.forEach(val => {\r\n let res: any = val[props[0]];\r\n \r\n if(props.length>1) {\r\n for(let i=1; i<props.length;i++) {\r\n res=res[props[i]];\r\n }\r\n }\r\n if (res===param[1]) {\r\n resultArr.push(val);\r\n }\r\n })\r\n }\r\n\r\n if(typeof(param)=='function') {\r\n resultArr = param(value);\r\n }\r\n return resultArr;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'filterOne'\r\n})\r\nexport class FilterOnePipe implements PipeTransform {\r\n\r\n transform(value: any[], param: [string, any] | string | number | Function): any {\r\n if (!value || value.length===0) return [];\r\n\r\n let resultArr: any[] = [];\r\n\r\n if (typeof(param)=='string' || typeof(param)=='number') {\r\n resultArr = value.filter(val => {return val===param});\r\n }\r\n\r\n if (typeof(param)=='object') {\r\n let prop = param[0];\r\n let props = prop.split('.');\r\n value.forEach(val => {\r\n let res: any = val[props[0]];\r\n \r\n if(props.length>1) {\r\n for(let i=1; i<props.length;i++) {\r\n res=res[props[i]];\r\n }\r\n }\r\n if (res===param[1]) {\r\n resultArr.push(val);\r\n }\r\n })\r\n }\r\n\r\n if(typeof(param)=='function') {\r\n resultArr = param(value);\r\n }\r\n return resultArr[0];\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sort'\r\n})\r\nexport class SortPipe implements PipeTransform {\r\n\r\n transform(value: any[], sortingMethod?: 'asc' | 'desc'): any[] {\r\n if(!value) return [];\r\n \r\n if (!sortingMethod || sortingMethod==='asc') {\r\n return value.sort((a, b) => {return a > b ? 1 : -1})\r\n }\r\n return value.sort((a, b) => {return a > b ? -1 : 1})\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'length'\r\n})\r\nexport class LengthPipe implements PipeTransform {\r\n\r\n transform(value: any[]): number {\r\n return value ? value.length : 0;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'chunk'\r\n})\r\nexport class ChunkPipe implements PipeTransform {\r\n\r\n transform(value: any[], length?: number): any[] {\r\n if(!length) { length=1; }\r\n let result: any[] = [];\r\n\r\n for(let i=0; i<value.length; i+=length) {\r\n let chunkArr: any[] = [];\r\n\r\n for(let k=0; k<length; k++) {\r\n if(i+k<value.length) {\r\n chunkArr.push(value[i+k]);\r\n }\r\n }\r\n result.push(chunkArr);\r\n }\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'drop'\r\n})\r\nexport class DropPipe implements PipeTransform {\r\n\r\n transform(value: any[], dropLen?: number): any[] {\r\n if(!dropLen) { return value.slice(0, value.length-1); }\r\n return value.slice(0, value.length-dropLen);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'flat'\r\n})\r\nexport class FlatPipe implements PipeTransform {\r\n\r\n transform(value: any[], layer?: number): any[] {\r\n if (!value || value.length==0) return [];\r\n if(!layer) { layer = 1; }\r\n\r\n let resultArr: any[] = value.flat();\r\n\r\n if (layer>1)\r\n for (let i=1; i<layer; i++) {\r\n resultArr = this.flatten(resultArr);\r\n }\r\n\r\n return resultArr;\r\n }\r\n\r\n flatten(arr: any[]) {\r\n return arr.flat();\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'reverseArray'\r\n})\r\nexport class ReverseArrayPipe implements PipeTransform {\r\n\r\n transform(value: any[]): any[] {\r\n if(!value) return [];\r\n \r\n return value.sort(() => {return -1})\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'byteConvertTo'\r\n})\r\nexport class ByteConvertToPipe implements PipeTransform {\r\n\r\n transform(value: number, unit?: 'B' | 'KB' | 'MB' | 'GB' | 'TB'): string {\r\n const bMax: number = 1024;\r\n const kbMax: number = 1024*1024;\r\n const mbMax: number = 1024*1024*1024;\r\n const gbMax: number = 1024*1024*1024*1024;\r\n const tbMax: number = Number.MAX_SAFE_INTEGER;\r\n\r\n if (!unit) {\r\n if (value < bMax) {\r\n return value + ' B';\r\n } else if (value < kbMax) {\r\n return value/bMax + ' KB';\r\n } else if (value < mbMax) {\r\n return value/kbMax + ' MB';\r\n } else if (value < gbMax) {\r\n return value/mbMax + ' GB';\r\n } else if (value < tbMax) {\r\n return value/gbMax + ' TB';\r\n }\r\n }\r\n\r\n if (unit==='B') {\r\n return value + ' B';\r\n }\r\n\r\n if (unit==='KB') {\r\n return value/bMax + ' KB';\r\n }\r\n\r\n if (unit==='MB') {\r\n return value/kbMax + ' MB';\r\n }\r\n\r\n if (unit==='GB') {\r\n return value/mbMax + ' GB';\r\n }\r\n\r\n if (unit==='TB') {\r\n return value/gbMax + ' TB';\r\n }\r\n\r\n return '';\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'ceil'\r\n})\r\nexport class CeilPipe implements PipeTransform {\r\n\r\n transform(value: number): number {\r\n return Math.ceil(value);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'floor'\r\n})\r\nexport class FloorPipe implements PipeTransform {\r\n\r\n transform(value: number): number {\r\n return Math.floor(value);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'round'\r\n})\r\nexport class RoundPipe implements PipeTransform {\r\n\r\n transform(value: number, decimalDigits?: number): number {\r\n if (!decimalDigits || decimalDigits===0) { return Math.round(value); }\r\n\r\n return Math.round(value*Math.pow(10, decimalDigits))/Math.pow(10, decimalDigits);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'toDegree'\r\n})\r\nexport class ToDegreePipe implements PipeTransform {\r\n\r\n transform(value: number): number {\r\n return (value * 180)/Math.PI;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'toRadian'\r\n})\r\nexport class ToRadianPipe implements PipeTransform {\r\n\r\n transform(value: number): number | string {\r\n return (value * Math.PI)/180 > Math.PI ? (value/180)+'π' : (value * Math.PI)/180;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'power'\r\n})\r\nexport class PowerPipe implements PipeTransform {\r\n\r\n transform(value: number, exponent?: number): number {\r\n if (!exponent || exponent===0) return 1;\r\n\r\n return Math.pow(value, exponent);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'sqroot'\r\n})\r\nexport class SqrootPipe implements PipeTransform {\r\n\r\n transform(value: number): number {\r\n return Math.sqrt(value);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'absolute'\r\n})\r\nexport class AbsolutePipe implements PipeTransform {\r\n\r\n transform(inputNumberValue: number): number {\r\n if(!inputNumberValue) return 0;\r\n\r\n let absoluteNumberValue = Math.abs(inputNumberValue);\r\n return absoluteNumberValue;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'ordinal'\r\n})\r\nexport class OrdinalPipe implements PipeTransform {\r\n\r\n transform(value: number): string {\r\n const prefix: {[key: number]: string} = {\r\n 0: 'th',\r\n 1: 'st',\r\n 2: 'nd',\r\n 3: 'rd',\r\n 4: 'th',\r\n 5: 'th',\r\n 6: 'th',\r\n 7: 'th',\r\n 8: 'th',\r\n 9: 'th',\r\n }\r\n \r\n if (value%100 > 10 && value%100 < 20) {\r\n return value + 'th';\r\n }\r\n\r\n return value + prefix[value%10];\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'integerType'\r\n})\r\nexport class IntegerTypePipe implements PipeTransform {\r\n\r\n transform(value: number): 'NIL' | 'POSITIVE' | 'NEGATIVE' {\r\n return Math.sign(value)==1 ? 'POSITIVE'\r\n : Math.sign(value)==0 ? 'NIL' : 'NEGATIVE';\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isArray'\r\n})\r\nexport class IsArrayPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n let inp: string = JSON.stringify(value);\r\n\r\n return inp.startsWith('[') && inp.endsWith(']');\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isBinary'\r\n})\r\nexport class IsBinaryPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n let inp: string = typeof(value)==='string' || typeof(value)==='number' || typeof(value)==='bigint'\r\n ? value.toString() : JSON.stringify(value);\r\n let reg: RegExp = /^[0|1]{0,}$/;\r\n\r\n return reg.test(inp);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isDefined'\r\n})\r\nexport class IsDefinedPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n return !(value==null || value==undefined);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isEqual'\r\n})\r\nexport class IsEqualPipe implements PipeTransform {\r\n\r\n transform(value: any, comparator: any): boolean {\r\n return value==comparator;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isFunction'\r\n})\r\nexport class IsFunctionPipe implements PipeTransform {\r\n\r\n transform(value: any): unknown {\r\n return typeof(value)=='function';\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isIdentical'\r\n})\r\nexport class IsIdenticalPipe implements PipeTransform {\r\n\r\n transform(value: any, comparator: any): boolean {\r\n return value===comparator;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isNil'\r\n})\r\nexport class IsNilPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n return value==0;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isNull'\r\n})\r\nexport class IsNullPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n return value==null;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isNumber'\r\n})\r\nexport class IsNumberPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n let num = +value;\r\n return typeof(num)=='number' && !isNaN(num);\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isObject'\r\n})\r\nexport class IsObjectPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n let inp: string = JSON.stringify(value);\r\n\r\n return inp.startsWith('{') && inp.endsWith('}');\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isString'\r\n})\r\nexport class IsStringPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n return typeof(value)=='string';\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isTruthy'\r\n})\r\nexport class IsTruthyPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n return value===true;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'isUndefined'\r\n})\r\nexport class IsUndefinedPipe implements PipeTransform {\r\n\r\n transform(value: any): boolean {\r\n return value===undefined;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'keyArray'\r\n})\r\nexport class KeyArrayPipe implements PipeTransform {\r\n\r\n transform(value: Object): any[] {\r\n let res: any[] = [];\r\n\r\n for (let key in value) {\r\n res.push(key);\r\n }\r\n\r\n return res;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'toArray'\r\n})\r\nexport class ToArrayPipe implements PipeTransform {\r\n\r\n transform(value: Object): any[] {\r\n let res: any[] = [];\r\n\r\n for (let key in value) {\r\n // @ts-ignore\r\n res.push(value[key]);\r\n }\r\n\r\n return res;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'normaliseObjArray'\r\n})\r\nexport class NormaliseObjArrayPipe implements PipeTransform {\r\n\r\n transform(value: {}[], defaultObj: {}): {}[] {\r\n let result: Object[] = [];\r\n\r\n value.forEach((val: any) => {\r\n for(let key in defaultObj) {\r\n if(!val[key]) {\r\n // @ts-ignore\r\n val[key] = defaultObj[key];\r\n }\r\n }\r\n\r\n result.push(val);\r\n });\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'truncate'\r\n})\r\nexport class TruncatePipe implements PipeTransform {\r\n\r\n transform(value: string, length?: number, delimiter?: string): string {\r\n \r\n if(!length) length = Math.floor(value.length/2);\r\n if(!delimiter) delimiter = '...';\r\n if(!value || value.length===0) return delimiter;\r\n\r\n let result: string = value.slice(0, length);\r\n result+=delimiter;\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'repeat'\r\n})\r\nexport class RepeatPipe implements PipeTransform {\r\n\r\n transform(value: string, count?: number, separator?: string): string {\r\n if (!count) { count=1; }\r\n if (!separator) { separator=''; }\r\n let result = '';\r\n\r\n if (count===0) {\r\n return '';\r\n } else {\r\n for (let i=0; i<count; i++) {\r\n if(i==count-1) {\r\n result+=value;\r\n } else {\r\n result+=(value+separator);\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'combine'\r\n})\r\nexport class CombinePipe implements PipeTransform {\r\n\r\n transform(value: any[], arrToCombine: any[]): any[] {\r\n return [...value, ...arrToCombine];\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'interpolate'\r\n})\r\nexport class InterpolatePipe implements PipeTransform {\r\n\r\n transform(value: string, ...args: string[]): string {\r\n return value && value.replace(\r\n /\\{(\\d+)}/g,\r\n (substring: string, index: number): string => this.isNullOrUndefined(args[index]) ? substring : args[index]\r\n );\r\n }\r\n\r\n private isNullOrUndefined(value: any): boolean {\r\n return typeof value === 'undefined' || value === null;\r\n }\r\n}\r\n\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'convertToBase'\r\n})\r\nexport class ConvertToBasePipe implements PipeTransform {\r\n\r\n transform(value: number | string, convertFrom: number | 'binary' | 'octal' | 'decimal' | 'hexadecimal',\r\n convertTo: number | 'binary' | 'octal' | 'decimal' | 'hexadecimal'): number | string {\r\n let decimalInp: number;\r\n let result: number | string;\r\n\r\n if (convertFrom===2 || convertFrom==='binary') {\r\n decimalInp = parseInt(value.toString(), 2);\r\n } else if (convertFrom===8 || convertFrom==='octal') {\r\n decimalInp = parseInt(value.toString(), 8);\r\n } else if (convertFrom===10 || convertFrom==='decimal') {\r\n decimalInp = parseInt(value.toString(), 10);\r\n } else if (convertFrom===16 || convertFrom==='hexadecimal') {\r\n decimalInp = parseInt(value.toString(), 16);\r\n } else {\r\n decimalInp = parseInt(value.toString(), convertFrom);\r\n }\r\n\r\n if (convertTo===2 || convertTo==='binary') {\r\n result = decimalInp.toString(2);\r\n } else if (convertTo===8 || convertTo==='octal') {\r\n result = decimalInp.toString(8);\r\n } else if (convertTo===10 || convertTo==='decimal') {\r\n result = decimalInp.toString(10);\r\n } else if (convertTo===16 || convertTo==='hexadecimal') {\r\n result = decimalInp.toString(16);\r\n } else {\r\n result = decimalInp.toString(convertTo);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n}\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'orderBy'\r\n})\r\nexport class OrderByPipe implements PipeTransform {\r\n\r\n transform(inputArr: any[], orderKey: string, sortingOrderAsc: 'asc' | 'desc', valType: 'string' | 'boolean' | 'number' | 'date' = 'string'): any[] {\r\n const reversed = sortingOrderAsc === 'asc' ? 1 : -1;\r\n if (!inputArr || inputArr.length===0) {\r\n return [];\r\n }\r\n\r\n if (valType === 'boolean') {\r\n if (orderKey !== '' && orderKey !== null) {\r\n inputArr.sort((a, b) => { return reversed * (Number(a[orderKey]) - Number(b[orderKey])) });\r\n } else {\r\n inputArr.sort((a, b) => { return reversed * (Number(a) - Number(b)) });\r\n }\r\n } else if (valType === 'number') {\r\n if (orderKey !== '' && orderKey !== null) {\r\n inputArr.sort((a, b) => { return reversed * (a[orderKey] - b[orderKey]) });\r\n } else {\r\n inputArr.sort((a, b) => { return reversed * (a - b) });\r\n }\r\n } else if (valType === 'date') {\r\n if (orderKey !== '' && orderKey !== null) {\r\n inputArr.sort((a, b) => { return reversed * (new Date(a[orderKey]).valueOf() - new Date(b[orderKey]).valueOf()) });\r\n } else {\r\n inputArr.sort((a, b) => { return reversed * (new Date(a).valueOf() - new Date(b).valueOf()) });\r\n }\r\n } else {\r\n if (orderKey !== '' && orderKey !== null) {\r\n inputArr.sort((a, b) => {\r\n return a[orderKey].toLowerCase() < b[orderKey].toLowerCase()\r\n ? reversed * -1 : a[orderKey].toLowerCase() > b[orderKey].toLowerCase() ? reversed : 0;\r\n });\r\n } else {\r\n inputArr.sort((a, b) => {\r\n return a.toLowerCase() < b.toLowerCase() ? reversed * -1 :\r\n a.toLowerCase() > b.toLowerCase() ? reversed : 0;\r\n });\r\n }\r\n }\r\n\r\n return inputArr;\r\n }\r\n\r\n}\r\n\r\n","/** Copyright 2023 Infosys Ltd. */\r\nimport { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'deLatinize'\r\n})\r\nexport class DeLatinizePipe implements PipeTransform {\r\n\r\n private charsToBeReplaced: any = {\r\n 'Á': 'A', 'Ă': 'A', 'Ắ': 'A', 'Ặ': 'A', 'Ằ': 'A', 'Ẳ': 'A', 'Ẵ': 'A', 'Ǎ': 'A', 'Â': 'A', 'Ấ': 'A', 'Ậ': 'A',\r\n 'Ầ': 'A', 'Ẩ': 'A', 'Ẫ': 'A', 'Ä': 'A', 'Ǟ': 'A', 'Ȧ': 'A', 'Ǡ': 'A', 'Ạ': 'A', 'Ȁ': 'A', 'À': 'A', 'Ả': 'A',\r\n 'Ȃ': 'A', 'Ā': 'A', 'Ą': 'A', 'Å': 'A', 'Ǻ': 'A', 'Ḁ': 'A', 'Ⱥ': 'A', 'Ã': 'A', 'Ꜳ': 'AA', 'Æ': 'AE',\r\n 'Ǽ': 'AE', 'Ǣ': 'AE', 'Ꜵ': 'AO', 'Ꜷ': 'AU', 'Ꜹ': 'AV', 'Ꜻ': 'AV', 'Ꜽ': 'AY', 'Ḃ': 'B', 'Ḅ': 'B', 'Ɓ': 'B',\r\n 'Ḇ': 'B', 'Ƀ': 'B', 'Ƃ': 'B', 'Ć': 'C', 'Č': 'C', 'Ç': 'C', 'Ḉ': 'C', 'Ĉ': 'C', 'Ċ': 'C', 'Ƈ': 'C', 'Ȼ': 'C',\r\n 'Ď': 'D', 'Ḑ': 'D', 'Ḓ': 'D', 'Ḋ': 'D', 'Ḍ': 'D', 'Ɗ': 'D', 'Ḏ': 'D', 'Dz': 'D', 'Dž': 'D', 'Đ': 'D', 'Ƌ': 'D',\r\n 'DZ': 'DZ', 'DŽ': 'DZ', 'É': 'E', 'Ĕ': 'E', 'Ě': 'E', 'Ȩ': 'E', 'Ḝ': 'E', 'Ê': 'E', 'Ế': 'E', 'Ệ': 'E', 'Ề': 'E',\r\n 'Ể': 'E', 'Ễ': 'E', 'Ḙ': 'E', 'Ë': 'E', 'Ė': 'E', 'Ẹ': 'E', 'Ȅ': 'E', 'È': 'E', 'Ẻ': 'E', 'Ȇ': 'E', 'Ē': 'E',\r\n 'Ḗ': 'E', 'Ḕ': 'E', 'Ę': 'E', 'Ɇ': 'E', 'Ẽ': 'E', 'Ḛ': 'E', 'Ꝫ': 'ET', 'Ḟ': 'F', 'Ƒ': 'F', 'Ǵ': 'G', 'Ğ': 'G',\r\n 'Ǧ': 'G', 'Ģ': 'G', 'Ĝ': 'G', 'Ġ': 'G', 'Ɠ': 'G', 'Ḡ': 'G', 'Ǥ': 'G', 'Ḫ': 'H', 'Ȟ': 'H', 'Ḩ': 'H', 'Ĥ': 'H',\r\n 'Ⱨ': 'H', 'Ḧ': 'H', 'Ḣ': 'H', 'Ḥ': 'H', 'Ħ': 'H', 'Í': 'I', 'Ĭ': 'I', 'Ǐ': 'I', 'Î': 'I', 'Ï': 'I', 'Ḯ': 'I',\r\n 'İ': 'I', 'Ị': 'I', 'Ȉ': 'I', 'Ì': 'I', 'Ỉ': 'I', 'Ȋ': 'I', 'Ī': 'I', 'Į': 'I', 'Ɨ': 'I', 'Ĩ': 'I', 'Ḭ': 'I',\r\n 'Ꝺ': 'D', 'Ꝼ': 'F', 'Ᵹ': 'G', 'Ꞃ': 'R', 'Ꞅ': 'S', 'Ꞇ': 'T', 'Ꝭ': 'IS', 'Ĵ': 'J', 'Ɉ': 'J', 'Ḱ': 'K', 'Ǩ': 'K',\r\n 'Ķ': 'K', 'Ⱪ': 'K', 'Ꝃ': 'K', 'Ḳ': 'K', 'Ƙ': 'K', 'Ḵ': 'K', 'Ꝁ': 'K', 'Ꝅ': 'K', 'Ĺ': 'L', 'Ƚ': 'L', 'Ľ': 'L',\r\n 'Ļ': 'L', 'Ḽ': 'L', 'Ḷ': 'L', 'Ḹ': 'L', 'Ⱡ': 'L', 'Ꝉ': 'L', 'Ḻ': 'L', 'Ŀ': 'L', 'Ɫ': 'L', 'Lj': 'L', 'Ł': 'L',\r\n 'LJ': 'LJ', 'Ḿ': 'M', 'Ṁ': 'M', 'Ṃ': 'M', 'Ɱ': 'M', 'Ń': 'N', 'Ň': 'N', 'Ņ': 'N', 'Ṋ': 'N', 'Ṅ': 'N', 'Ṇ': 'N',\r\n 'Ǹ': 'N', 'Ɲ': 'N', 'Ṉ': 'N', 'Ƞ': 'N', 'Nj': 'N', 'Ñ': 'N', 'NJ': 'NJ', 'Ó': 'O', 'Ŏ': 'O', 'Ǒ': 'O', 'Ô': 'O',\r\n 'Ố': 'O', 'Ộ': 'O', 'Ồ': 'O', 'Ổ': 'O', 'Ỗ': 'O', 'Ö': 'O', 'Ȫ': 'O', 'Ȯ': 'O', 'Ȱ': 'O', 'Ọ': 'O', 'Ő': 'O',\r\n 'Ȍ': 'O', 'Ò': 'O', 'Ỏ': 'O', 'Ơ': 'O', 'Ớ': 'O', 'Ợ': 'O', 'Ờ': 'O', 'Ở': 'O', 'Ỡ': 'O', 'Ȏ': 'O', 'Ꝋ': 'O',\r\n 'Ꝍ': 'O', 'Ō': 'O', 'Ṓ': 'O', 'Ṑ': 'O', 'Ɵ': 'O', 'Ǫ': 'O', 'Ǭ': 'O', 'Ø': 'O', 'Ǿ': 'O', 'Õ': 'O', 'Ṍ': 'O',\r\n 'Ṏ': 'O', 'Ȭ': 'O', 'Ƣ': 'OI', 'Ꝏ': 'OO', 'Ɛ': 'E', 'Ɔ': 'O', 'Ȣ': 'OU', 'Ṕ': 'P', 'Ṗ': 'P', 'Ꝓ': 'P',\r\n 'Ƥ': 'P', 'Ꝕ': 'P', 'Ᵽ': 'P', 'Ꝑ': 'P', 'Ꝙ': 'Q', 'Ꝗ': 'Q', 'Ŕ': 'R', 'Ř': 'R', 'Ŗ': 'R', 'Ṙ': 'R', 'Ṛ': 'R',\r\n 'Ṝ': 'R', 'Ȑ': 'R', 'Ȓ': 'R', 'Ṟ': 'R', 'Ɍ': 'R', 'Ɽ': 'R', 'Ꜿ': 'C', 'Ǝ': 'E', 'Ś': 'S', 'Ṥ': 'S', 'Š': 'S',\r\n 'Ṧ': 'S', 'Ş': 'S', 'Ŝ': 'S', 'Ș': 'S', 'Ṡ': 'S', 'Ṣ': 'S', 'Ṩ': 'S', 'ẞ': 'SS', 'Ť': 'T', 'Ţ': 'T', 'Ṱ': 'T',\r\n 'Ț': 'T', 'Ⱦ': 'T', 'Ṫ': 'T', 'Ṭ': 'T', 'Ƭ': 'T', 'Ṯ': 'T', 'Ʈ': 'T', 'Ŧ': 'T', 'Ɐ': 'A', 'Ꞁ': 'L', 'Ɯ': 'M',\r\n 'Ʌ': 'V', 'Ꜩ': 'TZ', 'Ú': 'U', 'Ŭ': 'U', 'Ǔ': 'U', 'Û': 'U', 'Ṷ': 'U', 'Ü': 'U', 'Ǘ': 'U', 'Ǚ': 'U', 'Ǜ': 'U',\r\n 'Ǖ': 'U', 'Ṳ': 'U', 'Ụ': 'U', 'Ű': 'U', 'Ȕ': 'U', 'Ù': 'U', 'Ủ': 'U', 'Ư': 'U', 'Ứ': 'U', 'Ự': 'U', 'Ừ': 'U',\r\n 'Ử': 'U', 'Ữ': 'U', 'Ȗ': 'U', 'Ū': 'U', 'Ṻ': 'U', 'Ų': 'U', 'Ů': 'U', 'Ũ': 'U', 'Ṹ': 'U', 'Ṵ': 'U', 'Ꝟ': 'V',\r\n 'Ṿ': 'V', 'Ʋ': 'V', 'Ṽ': 'V', 'Ꝡ': 'VY', 'Ẃ': 'W', 'Ŵ': 'W', 'Ẅ': 'W', 'Ẇ': 'W', 'Ẉ': 'W', 'Ẁ': 'W', 'Ⱳ': 'W',\r\n 'Ẍ': 'X', 'Ẋ': 'X', 'Ý': 'Y', 'Ŷ': 'Y', 'Ÿ': 'Y', 'Ẏ': 'Y', 'Ỵ': 'Y', 'Ỳ': 'Y', 'Ƴ': 'Y', 'Ỷ': 'Y', 'Ỿ': 'Y',\r\n 'Ȳ': 'Y', 'Ɏ': 'Y', 'Ỹ': 'Y', 'Ź': 'Z', 'Ž': 'Z', 'Ẑ': 'Z', 'Ⱬ': 'Z', 'Ż': 'Z', 'Ẓ': 'Z', 'Ȥ': 'Z', 'Ẕ': 'Z',\r\n 'Ƶ': 'Z', 'IJ': 'IJ', 'Œ': 'OE', 'ᴀ': 'A', 'ᴁ': 'AE', 'ʙ': 'B', 'ᴃ': 'B', 'ᴄ': 'C', 'ᴅ': 'D', 'ᴇ': 'E', 'ꜰ': 'F',\r\n 'ɢ': 'G', 'ʛ': 'G', 'ʜ': 'H', 'ɪ': 'I', 'ʁ': 'R', 'ᴊ': 'J', 'ᴋ': 'K', 'ʟ': 'L', 'ᴌ': 'L', 'ᴍ': 'M', 'ɴ': 'N',\r\n 'ᴏ': 'O', 'ɶ': 'OE', 'ᴐ': 'O', 'ᴕ': 'OU', 'ᴘ': 'P', 'ʀ': 'R', 'ᴎ': 'N', 'ᴙ': 'R', 'ꜱ': 'S', 'ᴛ': 'T', 'ⱻ': 'E',\r\n 'ᴚ': 'R', 'ᴜ': 'U', 'ᴠ': 'V', 'ᴡ': 'W', 'ʏ': 'Y', 'ᴢ': 'Z', 'á': 'a', 'ă': 'a', 'ắ': 'a', 'ặ': 'a', 'ằ': 'a',\r\n 'ẳ': 'a', 'ẵ': 'a', 'ǎ': 'a', 'â': 'a', 'ấ': 'a', 'ậ': 'a', 'ầ': 'a', 'ẩ': 'a', 'ẫ': 'a', 'ä': 'a', 'ǟ': 'a',\r\n 'ȧ': 'a', 'ǡ': 'a', 'ạ': 'a', 'ȁ': 'a', 'à': 'a', 'ả': 'a', 'ȃ': 'a', 'ā': 'a', 'ą': 'a', 'ᶏ': 'a', 'ẚ': 'a',\r\n 'å': 'a', 'ǻ': 'a', 'ḁ': 'a', 'ⱥ': 'a', 'ã': 'a', 'ꜳ': 'aa', 'æ': 'ae', 'ǽ': 'ae', 'ǣ': 'ae', 'ꜵ': 'ao',\r\n 'ꜷ': 'au', 'ꜹ': 'av', 'ꜻ': 'av', 'ꜽ': 'ay', 'ḃ': 'b', 'ḅ': 'b', 'ɓ': 'b', 'ḇ': 'b', 'ᵬ': 'b', 'ᶀ': 'b',\r\n 'ƀ': 'b', 'ƃ': 'b', 'ɵ': 'o', 'ć': 'c', 'č': 'c', 'ç': 'c', 'ḉ': 'c', 'ĉ': 'c', 'ɕ': 'c', 'ċ': 'c', 'ƈ': 'c',\r\n 'ȼ': 'c', 'ď': 'd', 'ḑ': 'd', 'ḓ': 'd', 'ȡ': 'd', 'ḋ': 'd', 'ḍ': 'd', 'ɗ': 'd', 'ᶑ': 'd', 'ḏ': 'd', 'ᵭ': 'd',\r\n 'ᶁ': 'd', 'đ': 'd', 'ɖ': 'd', 'ƌ': 'd', 'ı': 'i', 'ȷ': 'j', 'ɟ': 'j', 'ʄ': 'j', 'dz': 'dz', 'dž': 'dz', 'é': 'e',\r\n 'ĕ': 'e', 'ě': 'e', 'ȩ': 'e', 'ḝ': 'e', 'ê': 'e', 'ế': 'e', 'ệ': 'e', 'ề': 'e', 'ể': 'e', 'ễ': 'e', 'ḙ': 'e',\r\n 'ë': 'e', 'ė': 'e', 'ẹ': 'e', 'ȅ': 'e', 'è': 'e', 'ẻ': 'e', 'ȇ': 'e', 'ē': 'e', 'ḗ': 'e', 'ḕ': 'e', 'ⱸ': 'e',\r\n 'ę': 'e', 'ᶒ': 'e', 'ɇ': 'e', 'ẽ': 'e', 'ḛ': 'e', 'ꝫ': 'et', 'ḟ': 'f', 'ƒ': 'f', 'ᵮ': 'f', 'ᶂ': 'f', 'ǵ': 'g',\r\n 'ğ': 'g', 'ǧ': 'g', 'ģ': 'g', 'ĝ': 'g', 'ġ': 'g', 'ɠ': 'g', 'ḡ': 'g', 'ᶃ': 'g', 'ǥ': 'g', 'ḫ': 'h', 'ȟ': 'h',\r\n 'ḩ': 'h', 'ĥ': 'h', 'ⱨ': 'h', 'ḧ': 'h', 'ḣ': 'h', 'ḥ': 'h', 'ɦ': 'h', 'ẖ': 'h', 'ħ': 'h', 'ƕ': 'hv', 'í': 'i',\r\n 'ĭ': 'i', 'ǐ': 'i', 'î': 'i', 'ï': 'i', 'ḯ': 'i', 'ị': 'i', 'ȉ': 'i', 'ì': 'i', 'ỉ': 'i', 'ȋ': 'i', 'ī': 'i',\r\n 'į': 'i', 'ᶖ': 'i', 'ɨ': 'i', 'ĩ': 'i', 'ḭ': 'i', 'ꝺ': 'd', 'ꝼ': 'f', 'ᵹ': 'g', 'ꞃ': 'r', 'ꞅ': 's', 'ꞇ': 't',\r\n 'ꝭ': 'is', 'ǰ': 'j', 'ĵ': 'j', 'ʝ': 'j', 'ɉ': 'j', 'ḱ': 'k', 'ǩ': 'k', 'ķ': 'k', 'ⱪ': 'k', 'ꝃ': 'k', 'ḳ': 'k',\r\n 'ƙ': 'k', 'ḵ': 'k', 'ᶄ': 'k', 'ꝁ': 'k', 'ꝅ': 'k', 'ĺ': 'l', 'ƚ': 'l', 'ɬ': 'l', 'ľ': 'l', 'ļ': 'l', 'ḽ': 'l',\r\n 'ȴ': 'l', 'ḷ': 'l', 'ḹ': 'l', 'ⱡ': 'l', 'ꝉ': 'l', 'ḻ': 'l', 'ŀ': 'l', 'ɫ': 'l', 'ᶅ': 'l', 'ɭ': 'l', 'ł': 'l',\r\n 'lj': 'lj', 'ſ': 's', 'ẜ': 's', 'ẛ': 's', 'ẝ': 's', 'ḿ': 'm', 'ṁ': 'm', 'ṃ': 'm', 'ɱ': 'm', 'ᵯ': 'm', 'ᶆ': 'm',\r\n 'ń': 'n', 'ň': 'n', 'ņ': 'n', 'ṋ': 'n', 'ȵ': 'n', 'ṅ': 'n', 'ṇ': 'n', 'ǹ': 'n', 'ɲ': 'n', 'ṉ': 'n', 'ƞ': 'n',\r\n 'ᵰ': 'n', 'ᶇ': 'n', 'ɳ': 'n', 'ñ': 'n', 'nj': 'nj', 'ó': 'o', 'ŏ': 'o', 'ǒ': 'o', 'ô': 'o', 'ố': 'o', 'ộ': 'o',\r\n 'ồ': 'o', 'ổ': 'o', 'ỗ': 'o', 'ö': 'o', 'ȫ': 'o', 'ȯ': 'o', 'ȱ': 'o', 'ọ': 'o', 'ő': 'o', 'ȍ': 'o', 'ò': 'o',\r\n 'ỏ': 'o', 'ơ': 'o', 'ớ': 'o', 'ợ': 'o', 'ờ': 'o', 'ở': 'o', 'ỡ': 'o', 'ȏ': 'o', 'ꝋ': 'o', 'ꝍ': 'o', 'ⱺ': 'o',\r\n 'ō': 'o', 'ṓ': 'o', 'ṑ': 'o', 'ǫ': 'o', 'ǭ': 'o', 'ø': 'o', 'ǿ': 'o', 'õ': 'o', 'ṍ': 'o', 'ṏ': 'o', 'ȭ': 'o',\r\n 'ƣ': 'oi', 'ꝏ': 'oo', 'ɛ': 'e', 'ᶓ': 'e', 'ɔ': 'o', 'ᶗ': 'o', 'ȣ': 'ou', 'ṕ': 'p', 'ṗ': 'p', 'ꝓ': 'p',\r\n 'ƥ': 'p', 'ᵱ': 'p', 'ᶈ': 'p', 'ꝕ': 'p', 'ᵽ': 'p', 'ꝑ': 'p', 'ꝙ': 'q', 'ʠ': 'q', 'ɋ': 'q', 'ꝗ': 'q', 'ŕ': 'r',\r\n 'ř': 'r', 'ŗ': 'r', 'ṙ': 'r', 'ṛ': 'r', 'ṝ': 'r', 'ȑ': 'r', 'ɾ': 'r', 'ᵳ': 'r', 'ȓ': 'r', 'ṟ': 'r', 'ɼ': 'r',\r\n 'ᵲ': 'r', 'ᶉ': 'r', 'ɍ': 'r', 'ɽ': 'r', 'ↄ': 'c', 'ꜿ': 'c', 'ɘ': 'e', 'ɿ': 'r', 'ś': 's', 'ṥ': 's', 'š': 's',\r\n 'ṧ': 's', 'ş': 's', 'ŝ': 's', 'ș': 's', 'ṡ': 's', 'ṣ': 's', 'ṩ': 's', 'ʂ': 's', 'ᵴ': 's', 'ᶊ': 's', 'ȿ': 's',\r\n 'ɡ': 'g', 'ß': 'ss', 'ᴑ': 'o', 'ᴓ': 'o', 'ᴝ': 'u',