ngx2-pipes
Version:
Angular pipes library
1 lines • 152 kB
Source Map (JSON)
{"version":3,"file":"ngx2-pipes.mjs","sources":["../../src/utils/utils.ts","../../src/aggregate/group-by.pipe.ts","../../src/aggregate/max.pipe.ts","../../src/aggregate/mean.pipe.ts","../../src/aggregate/min.pipe.ts","../../src/aggregate/sum.pipe.ts","../../src/aggregate/aggregate.module.ts","../../src/array/empty.pipe.ts","../../src/array/head.pipe.ts","../../src/array/initial.pipe.ts","../../src/array/last.pipe.ts","../../src/array/join.pipe.ts","../../src/array/tail.pipe.ts","../../src/array/uniq.pipe.ts","../../src/array/without.pipe.ts","../../src/array/map.pipe.ts","../../src/array/where.pipe.ts","../../src/array/first-or-default.pipe.ts","../../src/array/range.pipe.ts","../../src/array/pluck.pipe.ts","../../src/array/reverse.pipe.ts","../../src/array/order-by.pipe.ts","../../src/array/count.pipe.ts","../../src/array/some.pipe.ts","../../src/array/every.pipe.ts","../../src/array/shuffle.pipe.ts","../../src/array/take.pipe.ts","../../src/array/drop.pipe.ts","../../src/array/deep.pipe.ts","../../src/array/chunk.pipe.ts","../../src/array/flatten.pipe.ts","../../src/array/intersection.pipe.ts","../../src/array/union.pipe.ts","../../src/array/take-while.pipe.ts","../../src/array/take-until.pipe.ts","../../src/array/array.module.ts","../../src/boolean/is-equal.pipe.ts","../../src/boolean/is-greater-or-equal.pipe.ts","../../src/boolean/is-greater.pipe.ts","../../src/boolean/is-identical.pipe.ts","../../src/boolean/is-less-or-equal.pipe.ts","../../src/boolean/is-less.pipe.ts","../../src/boolean/is-not-equal.pipe.ts","../../src/boolean/is-not-identical.pipe.ts","../../src/boolean/is-null.pipe.ts","../../src/boolean/is-undefined.pipe.ts","../../src/boolean/is-nil.pipe.ts","../../src/boolean/is-function.pipe.ts","../../src/boolean/is-number.pipe.ts","../../src/boolean/is-string.pipe.ts","../../src/boolean/is-array.pipe.ts","../../src/boolean/is-object.pipe.ts","../../src/boolean/is-defined.pipe.ts","../../src/boolean/boolean.module.ts","../../src/math/bytes.pipe.ts","../../src/math/ceil.pipe.ts","../../src/math/floor.pipe.ts","../../src/math/round.pipe.ts","../../src/math/degrees.pipe.ts","../../src/math/radians.pipe.ts","../../src/math/random.pipe.ts","../../src/math/sqrt.pipe.ts","../../src/math/pow.pipe.ts","../../src/math/abs.pipe.ts","../../src/math/ordinal.pipe.ts","../../src/math/math.module.ts","../../src/object/keys.pipe.ts","../../src/object/to-array.pipe.ts","../../src/object/defaults.pipe.ts","../../src/object/object.module.ts","../../src/string/left-pad.pipe.ts","../../src/string/match.pipe.ts","../../src/string/pad.pipe.ts","../../src/string/replace.pipe.ts","../../src/string/right-pad.pipe.ts","../../src/string/split.pipe.ts","../../src/string/test.pipe.ts","../../src/string/trim.pipe.ts","../../src/string/newlines.pipe.ts","../../src/string/capitalize.pipe.ts","../../src/string/upperfirst.pipe.ts","../../src/string/template.pipe.ts","../../src/string/encode-uri.pipe.ts","../../src/string/encode-uri-component.pipe.ts","../../src/string/decode-uri.pipe.ts","../../src/string/decode-uri-component.pipe.ts","../../src/string/truncate.pipe.ts","../../src/string/repeat.pipe.ts","../../src/string/slugify.pipe.ts","../../src/string/strip-tags.pipe.ts","../../src/string/latinize.pipe.ts","../../src/string/wrap.pipe.ts","../../src/string/with.pipe.ts","../../src/string/reverse-str.pipe.ts","../../src/string/string.module.ts","../../src/pipes.module.ts","../../src/ngx2-pipes.ts"],"sourcesContent":["export type CollectionPredicate = (item?: any, index?: number, collection?: any[]) => boolean;\r\n\r\nexport function isUndefined(value: any): value is undefined {\r\n return typeof value === 'undefined';\r\n}\r\n\r\nexport function isNull(value: any): value is null {\r\n return value === null;\r\n}\r\n\r\nexport function isNumber(value: any): value is number {\r\n return typeof value === 'number';\r\n}\r\n\r\nexport function isNumberFinite(value: any): value is number {\r\n return isNumber(value) && isFinite(value);\r\n}\r\n\r\n// Not strict positive\r\nexport function isPositive(value: number): boolean {\r\n return value >= 0;\r\n}\r\n\r\nexport function isInteger(value: number): boolean {\r\n // No rest, is an integer\r\n return value % 1 === 0;\r\n}\r\n\r\nexport function isNil(value: any): value is null | undefined {\r\n return value === null || typeof value === 'undefined';\r\n}\r\n\r\nexport function isString(value: any): value is string {\r\n return typeof value === 'string';\r\n}\r\n\r\nexport function isObject(value: any): boolean {\r\n return value !== null && typeof value === 'object';\r\n}\r\n\r\nexport function isArray(value: any): boolean {\r\n return Array.isArray(value);\r\n}\r\n\r\nexport function isFunction(value: any): boolean {\r\n return typeof value === 'function';\r\n}\r\n\r\nexport function toDecimal(value: number, decimal: number): number {\r\n return Math.round(value * Math.pow(10, decimal)) / Math.pow(10, decimal);\r\n}\r\n\r\nexport function upperFirst(value: string): string {\r\n return value.slice(0, 1).toUpperCase() + value.slice(1);\r\n}\r\n\r\nexport function createRound(method: string): Function {\r\n // <any>Math to suppress error\r\n const func: any = (<any>Math)[method];\r\n return function(value: number, precision: number = 0) {\r\n if (typeof value === 'string') {\r\n throw new TypeError('Rounding method needs a number');\r\n }\r\n\r\n if (typeof precision !== 'number' || isNaN(precision)) {\r\n precision = 0;\r\n }\r\n\r\n if (precision) {\r\n let pair = `${value}e`.split('e');\r\n const val = func(`${pair[0]}e` + (+pair[1] + precision));\r\n\r\n pair = `${val}e`.split('e');\r\n return +(pair[0] + 'e' + (+pair[1] - precision));\r\n }\r\n\r\n return func(value);\r\n };\r\n}\r\n\r\nexport function leftPad(str: string, len: number = 0, ch: any = ' ') {\r\n str = String(str);\r\n ch = toString(ch);\r\n let i = -1;\r\n const length = len - str.length;\r\n\r\n while (++i < length && str.length + ch.length <= len) {\r\n str = ch + str;\r\n }\r\n\r\n return str;\r\n}\r\n\r\nexport function rightPad(str: string, len: number = 0, ch: any = ' ') {\r\n str = String(str);\r\n ch = toString(ch);\r\n\r\n let i = -1;\r\n const length = len - str.length;\r\n\r\n while (++i < length && str.length + ch.length <= len) {\r\n str += ch;\r\n }\r\n\r\n return str;\r\n}\r\n\r\nexport function toString(value: number | string) {\r\n return `${value}`;\r\n}\r\n\r\nexport function pad(str: string, len: number = 0, ch: any = ' '): string {\r\n str = String(str);\r\n ch = toString(ch);\r\n let i = -1;\r\n const length = len - str.length;\r\n\r\n let left = true;\r\n while (++i < length) {\r\n const l = str.length + ch.length <= len ? str.length + ch.length : str.length + 1;\r\n\r\n if (left) {\r\n str = leftPad(str, l, ch);\r\n } else {\r\n str = rightPad(str, l, ch);\r\n }\r\n\r\n left = !left;\r\n }\r\n\r\n return str;\r\n}\r\n\r\nexport function flatten(input: any[], index: number = 0): any[] {\r\n if (index >= input.length) {\r\n return input;\r\n }\r\n\r\n if (isArray(input[index])) {\r\n return flatten(input.slice(0, index).concat(input[index], input.slice(index + 1)), index);\r\n }\r\n\r\n return flatten(input, index + 1);\r\n}\r\n\r\nexport function getProperty(value: { [key: string]: any }, key: string): any {\r\n if (isNil(value) || !isObject(value)) {\r\n return undefined;\r\n }\r\n\r\n const keys: string[] = key.split('.');\r\n let result: any = value[keys.shift()!];\r\n\r\n for (const key of keys) {\r\n if (isNil(result) || !isObject(result)) {\r\n return undefined;\r\n }\r\n\r\n result = result[key];\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function sum(input: Array<number>, initial = 0): number {\r\n return input.reduce((previous: number, current: number) => previous + current, initial);\r\n}\r\n\r\n// http://stackoverflow.com/questions/6274339/how-can-i-shuffle-an-array-in-javascript\r\nexport function shuffle(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n const copy = [...input];\r\n\r\n for (let i = copy.length; i; --i) {\r\n const j = Math.floor(Math.random() * i);\r\n const x = copy[i - 1];\r\n copy[i - 1] = copy[j];\r\n copy[j] = x;\r\n }\r\n\r\n return copy;\r\n}\r\n\r\nexport function deepIndexOf(collection: any[], value: any) {\r\n let index = -1;\r\n const length = collection.length;\r\n\r\n while (++index < length) {\r\n if (deepEqual(value, collection[index])) {\r\n return index;\r\n }\r\n }\r\n\r\n return -1;\r\n}\r\n\r\nexport function deepEqual(a: any, b: any) {\r\n if (a === b) {\r\n return true;\r\n }\r\n\r\n if (!(typeof a === 'object' && typeof b === 'object')) {\r\n return a === b;\r\n }\r\n\r\n const keysA = Object.keys(a);\r\n const keysB = Object.keys(b);\r\n\r\n if (keysA.length !== keysB.length) {\r\n return false;\r\n }\r\n\r\n // Test for A's keys different from B.\r\n var hasOwn = Object.prototype.hasOwnProperty;\r\n for (let i = 0; i < keysA.length; i++) {\r\n const key = keysA[i];\r\n if (!hasOwn.call(b, keysA[i]) || !deepEqual(a[key], b[key])) {\r\n return false;\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport function isDeepObject(object: any) {\r\n return object.__isDeepObject__;\r\n}\r\n\r\nexport function wrapDeep(object: any) {\r\n return new DeepWrapper(object);\r\n}\r\n\r\nexport function unwrapDeep(object: any) {\r\n if (isDeepObject(object)) {\r\n return object.data;\r\n }\r\n\r\n return object;\r\n}\r\n\r\nexport class DeepWrapper {\r\n public __isDeepObject__: boolean = true;\r\n\r\n constructor(public data: any) {}\r\n}\r\n\r\nexport function count(input: any): any {\r\n if (!isArray(input) && !isObject(input) && !isString(input)) {\r\n return input;\r\n }\r\n\r\n if (isObject(input)) {\r\n return Object.keys(input).map(value => input[value]).length;\r\n }\r\n\r\n return input.length;\r\n}\r\n\r\nexport function empty(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n return input.length === 0;\r\n}\r\n\r\nexport function every(input: any, predicate: CollectionPredicate) {\r\n if (!isArray(input) || !predicate) {\r\n return input;\r\n }\r\n\r\n let result = true;\r\n let i = -1;\r\n\r\n while (++i < input.length && result) {\r\n result = predicate(input[i], i, input);\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function takeUntil(input: any[], predicate: CollectionPredicate) {\r\n let i = -1;\r\n const result: any = [];\r\n while (++i < input.length && !predicate(input[i], i, input)) {\r\n result[i] = input[i];\r\n }\r\n\r\n return result;\r\n}\r\n\r\nexport function takeWhile(input: any[], predicate: CollectionPredicate) {\r\n return takeUntil(input, (item: any, index: number, collection: any[]) => !predicate(item, index, collection));\r\n}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { getProperty, isArray, isUndefined } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'groupBy',\r\n})\r\nexport class GroupByPipe implements PipeTransform {\r\n transform(input: any, prop: string): Array<any> {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n const arr: { [key: string]: Array<any> } = {};\r\n\r\n for (const value of input) {\r\n const field: any = getProperty(value, prop);\r\n\r\n if (isUndefined(arr[field])) {\r\n arr[field] = [];\r\n }\r\n\r\n arr[field].push(value);\r\n }\r\n\r\n return Object.keys(arr).map(key => ({ key, value: arr[key] }));\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [GroupByPipe],\r\n exports: [GroupByPipe],\r\n})\r\nexport class NgGroupByPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'max',\r\n})\r\nexport class MaxPipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n if (input.length === 0) {\r\n return undefined;\r\n }\r\n\r\n let max = input[0];\r\n\r\n input.forEach((value: any) => {\r\n if (max < value) {\r\n max = value;\r\n }\r\n });\r\n\r\n return max;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [MaxPipe],\r\n exports: [MaxPipe],\r\n})\r\nexport class NgMaxPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, sum } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'mean',\r\n})\r\nexport class MeanPipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n const count = input.length;\r\n\r\n if (count === 0) {\r\n return undefined;\r\n }\r\n\r\n return sum(input) / count;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [MeanPipe],\r\n exports: [MeanPipe],\r\n})\r\nexport class NgMeanPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'min',\r\n})\r\nexport class MinPipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n if (input.length === 0) {\r\n return undefined;\r\n }\r\n\r\n let min = input[0];\r\n\r\n input.forEach((value: any) => {\r\n if (min > value) {\r\n min = value;\r\n }\r\n });\r\n\r\n return min;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [MinPipe],\r\n exports: [MinPipe],\r\n})\r\nexport class NgMinPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, sum } from '../utils/utils';\r\n\r\n@Pipe({ name: 'sum' })\r\nexport class SumPipe implements PipeTransform {\r\n transform(input: any): any {\r\n return !isArray(input) ? input : sum(input);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [SumPipe],\r\n exports: [SumPipe],\r\n})\r\nexport class NgSumPipeModule {}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { NgGroupByPipeModule } from './group-by.pipe';\r\nimport { NgMaxPipeModule } from './max.pipe';\r\nimport { NgMeanPipeModule } from './mean.pipe';\r\nimport { NgMinPipeModule } from './min.pipe';\r\nimport { NgSumPipeModule } from './sum.pipe';\r\n\r\n@NgModule({\r\n imports: [NgGroupByPipeModule, NgMaxPipeModule, NgMeanPipeModule, NgMinPipeModule, NgSumPipeModule],\r\n})\r\nexport class NgAggregatePipesModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { empty } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'empty',\r\n})\r\nexport class EmptyPipe implements PipeTransform {\r\n transform(input: any): any {\r\n return empty(input);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [EmptyPipe],\r\n exports: [EmptyPipe],\r\n})\r\nexport class NgEmptyPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'head',\r\n})\r\nexport class HeadPipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n // Will return undefined if length is 0\r\n return input[0];\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [HeadPipe],\r\n exports: [HeadPipe],\r\n})\r\nexport class NgHeadPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'initial',\r\n})\r\nexport class InitialPipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n return input.slice(0, input.length - 1);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [InitialPipe],\r\n exports: [InitialPipe],\r\n})\r\nexport class NgInitialPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'last',\r\n})\r\nexport class LastPipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n // Returns undefined if empty\r\n return input[input.length - 1];\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [LastPipe],\r\n exports: [LastPipe],\r\n})\r\nexport class NgLastPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'join',\r\n})\r\nexport class JoinPipe implements PipeTransform {\r\n transform(input: any, character: string = ''): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n return input.join(character);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [JoinPipe],\r\n exports: [JoinPipe],\r\n})\r\nexport class NgJoinPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'tail',\r\n})\r\nexport class TailPipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n return input.slice(1, input.length);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [TailPipe],\r\n exports: [TailPipe],\r\n})\r\nexport class NgTailPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'uniq',\r\n})\r\nexport class UniqPipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input) && !isDeepObject(input)) {\r\n return input;\r\n }\r\n\r\n if (isDeepObject(input)) {\r\n const unwrappedInput = unwrapDeep(input);\r\n if (!isArray(unwrappedInput)) {\r\n return unwrappedInput;\r\n }\r\n\r\n return unwrappedInput.filter((value: any, index: number) => deepIndexOf(unwrappedInput, value) === index);\r\n }\r\n\r\n return input.filter((value: any, index: number) => input.indexOf(value) === index);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [UniqPipe],\r\n exports: [UniqPipe],\r\n})\r\nexport class NgUniqPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'without',\r\n})\r\nexport class WithoutPipe implements PipeTransform {\r\n transform(input: any, ...args: any[]): any {\r\n if (!isArray(input) && !isDeepObject(input)) {\r\n return input;\r\n }\r\n\r\n if (isDeepObject(input)) {\r\n const unwrappedInput = unwrapDeep(input);\r\n if (!isArray(unwrappedInput)) {\r\n return unwrappedInput;\r\n }\r\n\r\n return unwrappedInput.filter((value: any) => deepIndexOf(args, value) === -1);\r\n }\r\n\r\n return input.filter((value: any) => args.indexOf(value) === -1);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [WithoutPipe],\r\n exports: [WithoutPipe],\r\n})\r\nexport class NgWithoutPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'map',\r\n})\r\nexport class MapPipe implements PipeTransform {\r\n transform(input: any, fn: Function): any {\r\n if (!isArray(input) || !fn) {\r\n return input;\r\n }\r\n\r\n return input.map(fn);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [MapPipe],\r\n exports: [MapPipe],\r\n})\r\nexport class NgMapPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, isFunction, getProperty } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'where',\r\n})\r\nexport class WherePipe implements PipeTransform {\r\n /**\r\n * Support a function or a value or the shorthand ['key', value] like the lodash shorthand.\r\n */\r\n transform(input: any, fn: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n if (isFunction(fn)) {\r\n return input.filter(fn);\r\n } else if (isArray(fn)) {\r\n const [key, value] = fn;\r\n return input.filter((item: any) => getProperty(item, key) === value);\r\n } else if (fn) {\r\n return input.filter((item: any) => item === fn);\r\n } else {\r\n return input;\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [WherePipe],\r\n exports: [WherePipe],\r\n})\r\nexport class NgWherePipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, isFunction, getProperty, CollectionPredicate } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'firstOrDefault',\r\n})\r\nexport class FirstOrDefaultPipe implements PipeTransform {\r\n private static find(input: any[], predicate: CollectionPredicate, defaultValue?: any): any {\r\n let found = false;\r\n let result: any;\r\n let i = -1;\r\n\r\n while (!found && ++i < input.length) {\r\n found = predicate(input[i], i, input);\r\n }\r\n\r\n if (found) {\r\n result = input[i];\r\n }\r\n\r\n if (typeof result === 'undefined' && typeof defaultValue !== 'undefined') {\r\n result = defaultValue;\r\n }\r\n\r\n return result;\r\n }\r\n\r\n transform(input: any, predicate: CollectionPredicate | string[] | any, defaultValue?: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n if (isFunction(predicate)) {\r\n return FirstOrDefaultPipe.find(input, <CollectionPredicate>predicate, defaultValue);\r\n } else if (isArray(predicate)) {\r\n const [key, value] = <string[]>predicate;\r\n return FirstOrDefaultPipe.find(input, (item: any) => getProperty(item, key) === value, defaultValue);\r\n } else if (predicate) {\r\n return FirstOrDefaultPipe.find(input, item => item === <any>predicate, defaultValue);\r\n } else {\r\n return input;\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [FirstOrDefaultPipe],\r\n exports: [FirstOrDefaultPipe],\r\n})\r\nexport class NgFirstOrDefaultPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'range',\r\n})\r\nexport class RangePipe implements PipeTransform {\r\n transform(_input: any, size: number = 0, start: number = 1, step: number = 1): any {\r\n const range: number[] = [];\r\n for (let length = 0; length < size; ++length) {\r\n range.push(start);\r\n start += step;\r\n }\r\n\r\n return range;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [RangePipe],\r\n exports: [RangePipe],\r\n})\r\nexport class NgRangePipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, getProperty } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'pluck',\r\n})\r\nexport class PluckPipe implements PipeTransform {\r\n transform(input: any, key: string): any {\r\n if (!isArray(input) || !key) {\r\n return input;\r\n }\r\n\r\n return input.map((value: any) => {\r\n return getProperty(value, key);\r\n });\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [PluckPipe],\r\n exports: [PluckPipe],\r\n})\r\nexport class NgPluckPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'reverse',\r\n})\r\nexport class ReversePipe implements PipeTransform {\r\n transform(input: any): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n return [...input].reverse();\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [ReversePipe],\r\n exports: [ReversePipe],\r\n})\r\nexport class NgReversePipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'orderBy',\r\n})\r\nexport class OrderByPipe implements PipeTransform {\r\n private static _orderBy(a: any, b: any): number {\r\n if (a instanceof Date && b instanceof Date) {\r\n return a < b ? -1 : a > b ? 1 : 0;\r\n }\r\n\r\n const floatA = parseFloat(a);\r\n const floatB = parseFloat(b);\r\n\r\n if (typeof a === 'string' && typeof b === 'string' && (isNaN(floatA) || isNaN(floatB))) {\r\n const lowerA = a.toLowerCase();\r\n const lowerB = b.toLowerCase();\r\n return lowerA < lowerB ? -1 : lowerA > lowerB ? 1 : 0;\r\n }\r\n\r\n return floatA < floatB ? -1 : floatA > floatB ? 1 : 0;\r\n }\r\n\r\n transform(input: any, config: any = '+'): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n const configIsArray = isArray(config);\r\n\r\n // If config === 'param' OR ['param']\r\n if (!configIsArray || (configIsArray && config.length === 1)) {\r\n const propertyToCheck: string = configIsArray ? config[0] : config;\r\n const first = propertyToCheck.substr(0, 1);\r\n const desc = first === '-'; // First character is '-'\r\n\r\n // Basic array (if only + or - is present)\r\n if (!propertyToCheck || propertyToCheck === '-' || propertyToCheck === '+') {\r\n return [...input].sort((a: any, b: any) => {\r\n const comparator = OrderByPipe._orderBy(a, b);\r\n return desc ? -comparator : comparator;\r\n });\r\n } else {\r\n // If contains + or -, substring the property\r\n const property = first === '+' || desc ? propertyToCheck.substr(1) : propertyToCheck;\r\n\r\n return [...input].sort((a: any, b: any) => {\r\n const comparator = OrderByPipe._orderBy(a[property], b[property]);\r\n return desc ? -comparator : comparator;\r\n });\r\n }\r\n } else {\r\n // Config is an array of property\r\n\r\n return [...input].sort((a: any, b: any) => {\r\n for (let i: number = 0; i < config.length; ++i) {\r\n const first = config[i].substr(0, 1);\r\n const desc = first === '-';\r\n const property = first === '+' || desc ? config[i].substr(1) : config[i];\r\n\r\n const comparator = OrderByPipe._orderBy(a[property], b[property]);\r\n const comparison = desc ? -comparator : comparator;\r\n\r\n if (comparison !== 0) {\r\n return comparison;\r\n }\r\n }\r\n\r\n return 0;\r\n });\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [OrderByPipe],\r\n exports: [OrderByPipe],\r\n})\r\nexport class NgOrderByPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { count } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'count',\r\n})\r\nexport class CountPipe implements PipeTransform {\r\n transform(input: any): any {\r\n return count(input);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [CountPipe],\r\n exports: [CountPipe],\r\n})\r\nexport class NgCountPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'some',\r\n})\r\nexport class SomePipe implements PipeTransform {\r\n transform(input: any, predicate: Function): any {\r\n if (!isArray(input) || !predicate) {\r\n return input;\r\n }\r\n\r\n let result = false;\r\n let i = -1;\r\n\r\n while (++i < input.length && !result) {\r\n result = predicate(input[i], i, input);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [SomePipe],\r\n exports: [SomePipe],\r\n})\r\nexport class NgSomePipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { every, CollectionPredicate } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'every',\r\n})\r\nexport class EveryPipe implements PipeTransform {\r\n transform(input: any, predicate: CollectionPredicate): any {\r\n return every(input, predicate);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [EveryPipe],\r\n exports: [EveryPipe],\r\n})\r\nexport class NgEveryPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { shuffle } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'shuffle',\r\n})\r\nexport class ShufflePipe implements PipeTransform {\r\n transform(input: any): any {\r\n return shuffle(input);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [ShufflePipe],\r\n exports: [ShufflePipe],\r\n})\r\nexport class NgShufflePipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'take',\r\n})\r\nexport class TakePipe implements PipeTransform {\r\n transform(input: any, quantity?: number): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n return input.slice(0, quantity || 1);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [TakePipe],\r\n exports: [TakePipe],\r\n})\r\nexport class NgTakePipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'drop',\r\n})\r\nexport class DropPipe implements PipeTransform {\r\n transform(input: any, quantity?: number): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n return input.slice(quantity || 1, input.lenth);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [DropPipe],\r\n exports: [DropPipe],\r\n})\r\nexport class NgDropPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { wrapDeep, isDeepObject } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'deep',\r\n})\r\nexport class DeepPipe implements PipeTransform {\r\n transform(value: any): any {\r\n if (isDeepObject(value)) {\r\n return value;\r\n }\r\n\r\n return wrapDeep(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [DeepPipe],\r\n exports: [DeepPipe],\r\n})\r\nexport class NgDeepPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'chunk',\r\n})\r\nexport class ChunkPipe implements PipeTransform {\r\n transform(input: any, size: number = 1): any {\r\n if (!isArray(input)) {\r\n return input;\r\n }\r\n\r\n return [].concat.apply(\r\n [],\r\n input.map((_elem: any, i: number) => {\r\n return i % size ? [] : [input.slice(i, i + size)];\r\n })\r\n );\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [ChunkPipe],\r\n exports: [ChunkPipe],\r\n})\r\nexport class NgChunkPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, isDeepObject, unwrapDeep, flatten } from '../utils/utils';\r\n\r\n@Pipe({ name: 'flatten' })\r\nexport class FlattenPipe implements PipeTransform {\r\n transform(input: any): any {\r\n const isDeep = isDeepObject(input);\r\n if (!isArray(input) && !isDeep) {\r\n return input;\r\n }\r\n\r\n if (isDeep) {\r\n const unwrapped = unwrapDeep(input);\r\n if (!isArray(unwrapped)) {\r\n return unwrapped;\r\n }\r\n\r\n return flatten(unwrapped, 0);\r\n }\r\n\r\n return [].concat.apply([], input);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [FlattenPipe],\r\n exports: [FlattenPipe],\r\n})\r\nexport class NgFlattenPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'intersection',\r\n})\r\nexport class IntersectionPipe implements PipeTransform {\r\n transform(a?: any, b?: any): any {\r\n if ((!isArray(a) && !isDeepObject(a)) || !isArray(b)) {\r\n return [];\r\n }\r\n\r\n if (isDeepObject(a)) {\r\n const unwrapped = unwrapDeep(a);\r\n if (!isArray(unwrapped)) {\r\n return [];\r\n }\r\n\r\n return unwrapped.reduce(\r\n (intersection: any[], value: any) =>\r\n intersection.concat(deepIndexOf(b, value) !== -1 && deepIndexOf(intersection, value) === -1 ? value : []),\r\n []\r\n );\r\n }\r\n\r\n return a.reduce(\r\n (intersection: any[], value: any) =>\r\n intersection.concat(b.indexOf(value) !== -1 && intersection.indexOf(value) === -1 ? value : []),\r\n []\r\n );\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IntersectionPipe],\r\n exports: [IntersectionPipe],\r\n})\r\nexport class NgIntersectionPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, isDeepObject, unwrapDeep, deepIndexOf } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'union',\r\n})\r\nexport class UnionPipe implements PipeTransform {\r\n transform(a?: any, b?: any): any {\r\n if ((!isArray(a) && !isDeepObject(a)) || !isArray(b)) {\r\n return [];\r\n }\r\n\r\n if (isDeepObject(a)) {\r\n const unwrapped = unwrapDeep(a);\r\n if (!isArray(unwrapped)) {\r\n return [];\r\n }\r\n\r\n return []\r\n .concat(unwrapped)\r\n .concat(b)\r\n .filter((value: any, index: number, input: any[]) => deepIndexOf(input, value) === index);\r\n }\r\n\r\n return []\r\n .concat(a)\r\n .concat(b)\r\n .filter((value: any, index: number, input: any[]) => input.indexOf(value) === index);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [UnionPipe],\r\n exports: [UnionPipe],\r\n})\r\nexport class NgUnionPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, takeWhile, CollectionPredicate, isNil } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'takeWhile',\r\n})\r\nexport class TakeWhilePipe implements PipeTransform {\r\n transform(input: any, predicate?: CollectionPredicate): any {\r\n if (!isArray(input) || isNil(predicate)) {\r\n return input;\r\n }\r\n\r\n return takeWhile(input, predicate);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [TakeWhilePipe],\r\n exports: [TakeWhilePipe],\r\n})\r\nexport class NgTakeWhilePipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isArray, takeUntil, CollectionPredicate, isNil } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'takeUntil',\r\n})\r\nexport class TakeUntilPipe implements PipeTransform {\r\n transform(input: any, predicate?: CollectionPredicate): any {\r\n if (!isArray(input) || isNil(predicate)) {\r\n return input;\r\n }\r\n\r\n return takeUntil(input, predicate);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [TakeUntilPipe],\r\n exports: [TakeUntilPipe],\r\n})\r\nexport class NgTakeUntilPipeModule {}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { NgEmptyPipeModule } from './empty.pipe';\r\nimport { NgHeadPipeModule } from './head.pipe';\r\nimport { NgInitialPipeModule } from './initial.pipe';\r\nimport { NgLastPipeModule } from './last.pipe';\r\nimport { NgJoinPipeModule } from './join.pipe';\r\nimport { NgTailPipeModule } from './tail.pipe';\r\nimport { NgUniqPipeModule } from './uniq.pipe';\r\nimport { NgWithoutPipeModule } from './without.pipe';\r\nimport { NgMapPipeModule } from './map.pipe';\r\nimport { NgWherePipeModule } from './where.pipe';\r\nimport { NgFirstOrDefaultPipeModule } from './first-or-default.pipe';\r\nimport { NgRangePipeModule } from './range.pipe';\r\nimport { NgPluckPipeModule } from './pluck.pipe';\r\nimport { NgReversePipeModule } from './reverse.pipe';\r\nimport { NgOrderByPipeModule } from './order-by.pipe';\r\nimport { NgCountPipeModule } from './count.pipe';\r\nimport { NgSomePipeModule } from './some.pipe';\r\nimport { NgEveryPipeModule } from './every.pipe';\r\nimport { NgShufflePipeModule } from './shuffle.pipe';\r\nimport { NgTakePipeModule } from './take.pipe';\r\nimport { NgDropPipeModule } from './drop.pipe';\r\nimport { NgDeepPipeModule } from './deep.pipe';\r\nimport { NgChunkPipeModule } from './chunk.pipe';\r\nimport { NgFlattenPipeModule } from './flatten.pipe';\r\nimport { NgIntersectionPipeModule } from './intersection.pipe';\r\nimport { NgUnionPipeModule } from './union.pipe';\r\nimport { NgTakeWhilePipeModule } from './take-while.pipe';\r\nimport { NgTakeUntilPipeModule } from './take-until.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n NgChunkPipeModule,\r\n NgCountPipeModule,\r\n NgDeepPipeModule,\r\n NgDropPipeModule,\r\n NgEmptyPipeModule,\r\n NgEveryPipeModule,\r\n NgFirstOrDefaultPipeModule,\r\n NgFlattenPipeModule,\r\n NgHeadPipeModule,\r\n NgInitialPipeModule,\r\n NgIntersectionPipeModule,\r\n NgJoinPipeModule,\r\n NgLastPipeModule,\r\n NgMapPipeModule,\r\n NgOrderByPipeModule,\r\n NgPluckPipeModule,\r\n NgRangePipeModule,\r\n NgReversePipeModule,\r\n NgShufflePipeModule,\r\n NgSomePipeModule,\r\n NgTailPipeModule,\r\n NgTakeUntilPipeModule,\r\n NgTakeWhilePipeModule,\r\n NgTakePipeModule,\r\n NgUnionPipeModule,\r\n NgUniqPipeModule,\r\n NgWherePipeModule,\r\n NgWithoutPipeModule,\r\n ],\r\n})\r\nexport class NgArrayPipesModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'equal',\r\n})\r\nexport class IsEqualPipe implements PipeTransform {\r\n transform(first: any, second: any): boolean {\r\n return first == second;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsEqualPipe],\r\n exports: [IsEqualPipe],\r\n})\r\nexport class NgIsEqualPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'greaterOrEqual',\r\n})\r\nexport class IsGreaterOrEqualPipe implements PipeTransform {\r\n transform(first: any, second: any): boolean {\r\n return first >= second;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsGreaterOrEqualPipe],\r\n exports: [IsGreaterOrEqualPipe],\r\n})\r\nexport class NgIsGreaterOrEqualPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'greater',\r\n})\r\nexport class IsGreaterPipe implements PipeTransform {\r\n transform(first: any, second: any): boolean {\r\n return first > second;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsGreaterPipe],\r\n exports: [IsGreaterPipe],\r\n})\r\nexport class NgIsGreaterPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'identical',\r\n})\r\nexport class IsIdenticalPipe implements PipeTransform {\r\n transform(first: any, second: any): boolean {\r\n return first === second;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsIdenticalPipe],\r\n exports: [IsIdenticalPipe],\r\n})\r\nexport class NgIsIdenticalPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'lessOrEqual',\r\n})\r\nexport class IsLessOrEqualPipe implements PipeTransform {\r\n transform(first: any, second: any): boolean {\r\n return first <= second;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsLessOrEqualPipe],\r\n exports: [IsLessOrEqualPipe],\r\n})\r\nexport class NgIsLessOrEqualPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'less',\r\n})\r\nexport class IsLessPipe implements PipeTransform {\r\n transform(first: any, second: any): boolean {\r\n return first < second;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsLessPipe],\r\n exports: [IsLessPipe],\r\n})\r\nexport class NgIsLessPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'notEqual',\r\n})\r\nexport class IsNotEqualPipe implements PipeTransform {\r\n transform(first: any, second: any): boolean {\r\n return first != second;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsNotEqualPipe],\r\n exports: [IsNotEqualPipe],\r\n})\r\nexport class NgIsNotEqualPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'notIdentical',\r\n})\r\nexport class IsNotIdenticalPipe implements PipeTransform {\r\n transform(first: any, second: any): boolean {\r\n return first !== second;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsNotIdenticalPipe],\r\n exports: [IsNotIdenticalPipe],\r\n})\r\nexport class NgIsNotIdenticalPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isNull } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isNull',\r\n})\r\nexport class IsNullPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return isNull(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsNullPipe],\r\n exports: [IsNullPipe],\r\n})\r\nexport class NgIsNullPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isUndefined } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isUndefined',\r\n})\r\nexport class IsUndefinedPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return isUndefined(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsUndefinedPipe],\r\n exports: [IsUndefinedPipe],\r\n})\r\nexport class NgIsUndefinedPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isNil } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isNil',\r\n})\r\nexport class IsNilPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return isNil(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsNilPipe],\r\n exports: [IsNilPipe],\r\n})\r\nexport class NgIsNilPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isFunction } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isFunction',\r\n})\r\nexport class IsFunctionPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return isFunction(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsFunctionPipe],\r\n exports: [IsFunctionPipe],\r\n})\r\nexport class NgIsFunctionPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isNumber } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isNumber',\r\n})\r\nexport class IsNumberPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return isNumber(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsNumberPipe],\r\n exports: [IsNumberPipe],\r\n})\r\nexport class NgIsNumberPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isString } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isString',\r\n})\r\nexport class IsStringPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return isString(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsStringPipe],\r\n exports: [IsStringPipe],\r\n})\r\nexport class NgIsStringPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isArray } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isArray',\r\n})\r\nexport class IsArrayPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return isArray(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsArrayPipe],\r\n exports: [IsArrayPipe],\r\n})\r\nexport class NgIsArrayPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isObject } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isObject',\r\n})\r\nexport class IsObjectPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return isObject(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsObjectPipe],\r\n exports: [IsObjectPipe],\r\n})\r\nexport class NgIsObjectPipeModule {}\r\n","import { PipeTransform, Pipe, NgModule } from '@angular/core';\r\nimport { isUndefined } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'isDefined',\r\n})\r\nexport class IsDefinedPipe implements PipeTransform {\r\n transform(value: any): boolean {\r\n return !isUndefined(value);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [IsDefinedPipe],\r\n exports: [IsDefinedPipe],\r\n})\r\nexport class NgIsDefinedPipeModule {}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { NgIsEqualPipeModule } from './is-equal.pipe';\r\nimport { NgIsGreaterOrEqualPipeModule } from './is-greater-or-equal.pipe';\r\nimport { NgIsGreaterPipeModule } from './is-greater.pipe';\r\nimport { NgIsIdenticalPipeModule } from './is-identical.pipe';\r\nimport { NgIsLessOrEqualPipeModule } from './is-less-or-equal.pipe';\r\nimport { NgIsLessPipeModule } from './is-less.pipe';\r\nimport { NgIsNotEqualPipeModule } from './is-not-equal.pipe';\r\nimport { NgIsNotIdenticalPipeModule } from './is-not-identical.pipe';\r\nimport { NgIsNullPipeModule } from './is-null.pipe';\r\nimport { NgIsUndefinedPipeModule } from './is-undefined.pipe';\r\nimport { NgIsNilPipeModule } from './is-nil.pipe';\r\nimport { NgIsFunctionPipeModule } from './is-function.pipe';\r\nimport { NgIsNumberPipeModule } from './is-number.pipe';\r\nimport { NgIsStringPipeModule } from './is-string.pipe';\r\nimport { NgIsArrayPipeModule } from './is-array.pipe';\r\nimport { NgIsObjectPipeModule } from './is-object.pipe';\r\nimport { NgIsDefinedPipeModule } from './is-defined.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n NgIsNullPipeModule,\r\n NgIsUndefinedPipeModule,\r\n NgIsNilPipeModule,\r\n NgIsFunctionPipeModule,\r\n NgIsNumberPipeModule,\r\n NgIsStringPipeModule,\r\n NgIsArrayPipeModule,\r\n NgIsObjectPipeModule,\r\n NgIsDefinedPipeModule,\r\n ],\r\n})\r\nexport class NgTypesPipesModule {}\r\n\r\n@NgModule({\r\n imports: [\r\n NgIsEqualPipeModule,\r\n NgIsGreaterOrEqualPipeModule,\r\n NgIsGreaterPipeModule,\r\n NgIsIdenticalPipeModule,\r\n NgIsLessOrEqualPipeModule,\r\n NgIsLessPipeModule,\r\n NgIsNotEqualPipeModule,\r\n NgIsNotIdenticalPipeModule,\r\n ],\r\n})\r\nexport class NgConditionsPipesModule {}\r\n\r\n@NgModule({\r\n imports: [NgConditionsPipesModule, NgTypesPipesModule],\r\n})\r\nexport class NgBooleanPipesModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { isNumberFinite, isPositive, isInteger, toDecimal } from '../utils/utils';\r\n\r\nexport type ByteUnit = 'B' | 'kB' | 'KB' | 'MB' | 'GB' | 'TB';\r\n\r\n@Pipe({\r\n name: 'bytes',\r\n})\r\nexport class BytesPipe implements PipeTransform {\r\n static formats: { [key: string]: { max: number; prev?: ByteUnit } } = {\r\n B: { max: 1024 },\r\n kB: { max: Math.pow(1024, 2), prev: 'B' },\r\n KB: { max: Math.pow(1024, 2), prev: 'B' }, // Backward compatible\r\n MB: { max: Math.pow(1024, 3), prev: 'kB' },\r\n GB: { max: Math.pow(1024, 4), prev: 'MB' },\r\n TB: { max: Number.MAX_SAFE_INTEGER, prev: 'GB' },\r\n };\r\n\r\n transform(input: any, decimal: number = 0, from: ByteUnit = 'B', to?: ByteUnit): any {\r\n if (!(isNumberFinite(input) && isNumberFinite(decimal) && isInteger(decimal) && isPositive(decimal))) {\r\n return input;\r\n }\r\n\r\n let bytes = input;\r\n let unit = from;\r\n while (unit !== 'B') {\r\n bytes *= 1024;\r\n unit = BytesPipe.formats[unit].prev!;\r\n }\r\n\r\n if (to) {\r\n const format = BytesPipe.formats[to];\r\n\r\n const result = toDecimal(BytesPipe.calculateResult(format, bytes), decimal);\r\n\r\n return BytesPipe.formatResult(result, to);\r\n }\r\n\r\n for (const key in BytesPipe.formats) {\r\n if (BytesPipe.formats.hasOwnProperty(key)) {\r\n const format = BytesPipe.formats[key];\r\n if (bytes < format.max) {\r\n const result = toDecimal(BytesPipe.calculateResult(format, bytes), decimal);\r\n\r\n return BytesPipe.formatResult(result, key);\r\n }\r\n }\r\n }\r\n }\r\n\r\n static formatResult(result: number, unit: string): string {\r\n return `${result} ${unit}`;\r\n }\r\n\r\n static calculateResult(format: { max: number; prev?: ByteUnit }, bytes: number) {\r\n const prev = format.prev ? BytesPipe.formats[format.prev] : undefined;\r\n return prev ? bytes / prev.max : bytes;\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [BytesPipe],\r\n exports: [BytesPipe],\r\n})\r\nexport class NgBytesPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { createRound, isString } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'ceil',\r\n})\r\nexport class CeilPipe implements PipeTransform {\r\n transform(value: any, precision: any = 0): any {\r\n if (isString(precision)) {\r\n precision = parseInt(precision);\r\n }\r\n\r\n return createRound('ceil')(value, precision);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [CeilPipe],\r\n exports: [CeilPipe],\r\n})\r\nexport class NgCeilPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { createRound, isString } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'floor',\r\n})\r\nexport class FloorPipe implements PipeTransform {\r\n transform(value: any, precision: any = 0): any {\r\n if (isString(precision)) {\r\n precision = parseInt(precision);\r\n }\r\n\r\n return createRound('floor')(value, precision);\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [FloorPipe],\r\n exports: [FloorPipe],\r\n})\r\nexport class NgFloorPipeModule {}\r\n","import { Pipe, PipeTransform, NgModule } from '@angular/core';\r\nimport { createRound, isString } from '../utils/utils';\r\n\r\n@Pipe({\r\n name: 'round',\r\n})\r\nexport class RoundPipe implements PipeTransform {\r\n transform(value: any, precision: any = 0): any {\r\n if (isString(precision)) {\r\n precision = parseInt(precision);\r\n }\r\n\r\n return createRound('round')(value,