UNPKG

134 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../../node_modules/tslib/tslib.es6.js","ng://ngx-pipes/src/pipes/array/diff.ts","ng://ngx-pipes/src/pipes/array/initial.ts","ng://ngx-pipes/src/pipes/array/flatten.ts","ng://ngx-pipes/src/pipes/array/intersection.ts","ng://ngx-pipes/src/pipes/helpers/helpers.ts","ng://ngx-pipes/src/pipes/array/reverse.ts","ng://ngx-pipes/src/pipes/array/tail.ts","ng://ngx-pipes/src/pipes/array/truthify.ts","ng://ngx-pipes/src/pipes/array/union.ts","ng://ngx-pipes/src/pipes/array/unique.ts","ng://ngx-pipes/src/pipes/array/without.ts","ng://ngx-pipes/src/pipes/array/pluck.ts","ng://ngx-pipes/src/pipes/array/shuffle.ts","ng://ngx-pipes/src/pipes/array/every.ts","ng://ngx-pipes/src/pipes/array/some.ts","ng://ngx-pipes/src/pipes/array/sample.ts","ng://ngx-pipes/src/pipes/array/group-by.ts","ng://ngx-pipes/src/pipes/array/filter-by.ts","ng://ngx-pipes/src/pipes/array/order-by.ts","ng://ngx-pipes/src/pipes/array/group-by-impure.ts","ng://ngx-pipes/src/pipes/array/filter-by-impure.ts","ng://ngx-pipes/src/pipes/array/order-by-impure.ts","ng://ngx-pipes/src/pipes/array/range.ts","ng://ngx-pipes/src/pipes/array/chunk.ts","ng://ngx-pipes/src/pipes/array/from-pairs.ts","ng://ngx-pipes/src/pipes/array/index.ts","ng://ngx-pipes/src/pipes/object/keys.ts","ng://ngx-pipes/src/pipes/object/values.ts","ng://ngx-pipes/src/pipes/object/pairs.ts","ng://ngx-pipes/src/pipes/object/pick.ts","ng://ngx-pipes/src/pipes/object/omit.ts","ng://ngx-pipes/src/pipes/object/invert.ts","ng://ngx-pipes/src/pipes/object/invert-by.ts","ng://ngx-pipes/src/pipes/object/diff-obj.ts","ng://ngx-pipes/src/pipes/object/index.ts","ng://ngx-pipes/src/pipes/string/a-or-an.ts","ng://ngx-pipes/src/pipes/string/ucwords.ts","ng://ngx-pipes/src/pipes/string/ltrim.ts","ng://ngx-pipes/src/pipes/string/repeat.ts","ng://ngx-pipes/src/pipes/string/rtrim.ts","ng://ngx-pipes/src/pipes/string/scan.ts","ng://ngx-pipes/src/pipes/string/shorten.ts","ng://ngx-pipes/src/pipes/string/strip-tags.ts","ng://ngx-pipes/src/pipes/string/trim.ts","ng://ngx-pipes/src/pipes/string/ucfirst.ts","ng://ngx-pipes/src/pipes/string/slugify.ts","ng://ngx-pipes/src/pipes/string/camelize.ts","ng://ngx-pipes/src/pipes/string/latinise.ts","ng://ngx-pipes/src/pipes/string/lines.ts","ng://ngx-pipes/src/pipes/string/underscore.ts","ng://ngx-pipes/src/pipes/string/match.ts","ng://ngx-pipes/src/pipes/string/test.ts","ng://ngx-pipes/src/pipes/string/lpad.ts","ng://ngx-pipes/src/pipes/string/rpad.ts","ng://ngx-pipes/src/pipes/string/pluralize.ts","ng://ngx-pipes/src/pipes/string/wrap.ts","ng://ngx-pipes/src/pipes/string/index.ts","ng://ngx-pipes/src/pipes/math/max.ts","ng://ngx-pipes/src/pipes/math/min.ts","ng://ngx-pipes/src/pipes/math/percentage.ts","ng://ngx-pipes/src/pipes/math/sum.ts","ng://ngx-pipes/src/pipes/math/floor.ts","ng://ngx-pipes/src/pipes/math/round.ts","ng://ngx-pipes/src/pipes/math/sqrt.ts","ng://ngx-pipes/src/pipes/math/pow.ts","ng://ngx-pipes/src/pipes/math/ceil.ts","ng://ngx-pipes/src/pipes/math/degrees.ts","ng://ngx-pipes/src/pipes/math/bytes.ts","ng://ngx-pipes/src/pipes/math/radians.ts","ng://ngx-pipes/src/pipes/math/index.ts","ng://ngx-pipes/src/pipes/boolean/is-defined.ts","ng://ngx-pipes/src/pipes/boolean/is-null.ts","ng://ngx-pipes/src/pipes/boolean/is-undefined.ts","ng://ngx-pipes/src/pipes/boolean/is-string.ts","ng://ngx-pipes/src/pipes/boolean/is-function.ts","ng://ngx-pipes/src/pipes/boolean/is-number.ts","ng://ngx-pipes/src/pipes/boolean/is-array.ts","ng://ngx-pipes/src/pipes/boolean/is-object.ts","ng://ngx-pipes/src/pipes/boolean/is-greater-equal-than.ts","ng://ngx-pipes/src/pipes/boolean/is-greater-than.ts","ng://ngx-pipes/src/pipes/boolean/is-less-equal-than.ts","ng://ngx-pipes/src/pipes/boolean/is-equal-to.ts","ng://ngx-pipes/src/pipes/boolean/is-not-equal-to.ts","ng://ngx-pipes/src/pipes/boolean/is-identical-to.ts","ng://ngx-pipes/src/pipes/boolean/is-not-identical-to.ts","ng://ngx-pipes/src/pipes/boolean/is-less-than.ts","ng://ngx-pipes/src/pipes/boolean/index.ts","ng://ngx-pipes/src/pipes/date/time-ago.ts","ng://ngx-pipes/src/pipes/date/index.ts","ng://ngx-pipes/src/pipes/index.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__read","o","n","m","Symbol","iterator","e","call","ar","next","done","push","value","error","__spread","concat","DiffPipe","transform","input","args","_i","isArray","reduce","filter","indexOf","Pipe","name","InitialPipe","num","slice","FlattenPipe","shallow","apply","flatten","array","_this","arr","elm","IntersectionPipe","isUndefined","isFunction","isNumber","isString","isObject","isNumberFinite","isFinite","isVowel","letter","ucFirst","text","_a","split","part","tslib_1.__spread","toLowerCase","map","word","toUpperCase","join","applyPrecision","precision","Math","round","tho","pow","extractDeepPropertyByMapKey","obj","keys","head","shift","prop","undefined","getKeysTwoObjects","other","index","ReversePipe","reverse","TailPipe","TrurthifyPipe","UnionPipe","newArr","currArr","noDupArr","curr","UniquePipe","propertyName","uniques","JSON","stringify","WithoutPipe","PluckPipe","pure","ShufflePipe","shuffled","j","floor","random","EveryPipe","predicate","every","SomePipe","some","SamplePipe","len","sample","tmp","l","splice","GroupByPipe","discriminator","delimiter","groupBy","list","acc","payload","extractKeyByDiscriminator","k","FilterByPipe","props","search","strict","terms","String","term","tail","pop","extractDeepPropertyByParentMapKey","parent","str","strValue","OrderByPipe","config","out","sort","a","OrderByPipe_1","extractFromConfig","asc","pos","orderCompare","sign","simpleSort","bind","localeCompare","first","second","substr","replace","GroupByImpurePipe","_super","tslib_1.__extends","FilterByImpurePipe","OrderByImpurePipe","RangePipe","start","count","step","fill","v","ChunkPipe","size","chunk","ceil","_","begin","FromPairsPipe","val","ARRAY_PIPES","NgArrayPipesModule","NgModule","declarations","imports","exports","KeysPipe","ValuesPipe","PairsPipe","entries","PickPipe","assign","OmitPipe","InvertPipe","InvertByPipe","cb","DiffObjPipe","original","diff","isDeepEqual","OBJECT_PIPES","NgObjectPipesModule","AorAnPipe","irregularMap","herb","honor","honorable","hour","mba","msc","m.sc.","unicorn","stringEntity","firstWord","trim","toLocaleLowerCase","UcWordsPipe","sub","LeftTrimPipe","chars","RegExp","RepeatPipe","separator","RangeError","repeat","RightTrimPipe","ScanPipe","match","ShortenPipe","suffix","wordBreak","StripTagsPipe","allowedTags","TrimPipe","UcFirstPipe","SlugifyPipe","CamelizePipe","LatinisePipe","latinMap","Á","Ă","Ắ","Ặ","Ằ","Ẳ","Ẵ","Ǎ","Â","Ấ","Ậ","Ầ","Ẩ","Ẫ","Ä","Ǟ","Ȧ","Ǡ","Ạ","Ȁ","À","Ả","Ȃ","Ā","Ą","Å","Ǻ","Ḁ","Ⱥ","Ã","Ꜳ","Æ","Ǽ","Ǣ","Ꜵ","Ꜷ","Ꜹ","Ꜻ","Ꜽ","Ḃ","Ḅ","Ɓ","Ḇ","Ƀ","Ƃ","Ć","Č","Ç","Ḉ","Ĉ","Ċ","Ƈ","Ȼ","Ď","Ḑ","Ḓ","Ḋ","Ḍ","Ɗ","Ḏ","Dz","Dž","Đ","Ƌ","DZ","DŽ","É","Ĕ","Ě","Ȩ","Ḝ","Ê","Ế","Ệ","Ề","Ể","Ễ","Ḙ","Ë","Ė","Ẹ","Ȅ","È","Ẻ","Ȇ","Ē","Ḗ","Ḕ","Ę","Ɇ","Ẽ","Ḛ","Ꝫ","Ḟ","Ƒ","Ǵ","Ğ","Ǧ","Ģ","Ĝ","Ġ","Ɠ","Ḡ","Ǥ","Ḫ","Ȟ","Ḩ","Ĥ","Ⱨ","Ḧ","Ḣ","Ḥ","Ħ","Í","Ĭ","Ǐ","Î","Ï","Ḯ","İ","Ị","Ȉ","Ì","Ỉ","Ȋ","Ī","Į","Ɨ","Ĩ","Ḭ","Ꝺ","Ꝼ","Ᵹ","Ꞃ","Ꞅ","Ꞇ","Ꝭ","Ĵ","Ɉ","Ḱ","Ǩ","Ķ","Ⱪ","Ꝃ","Ḳ","Ƙ","Ḵ","Ꝁ","Ꝅ","Ĺ","Ƚ","Ľ","Ļ","Ḽ","Ḷ","Ḹ","Ⱡ","Ꝉ","Ḻ","Ŀ","Ɫ","Lj","Ł","LJ","Ḿ","Ṁ","Ṃ","Ɱ","Ń","Ň","Ņ","Ṋ","Ṅ","Ṇ","Ǹ","Ɲ","Ṉ","Ƞ","Nj","Ñ","NJ","Ó","Ŏ","Ǒ","Ô","Ố","Ộ","Ồ","Ổ","Ỗ","Ö","Ȫ","Ȯ","Ȱ","Ọ","Ő","Ȍ","Ò","Ỏ","Ơ","Ớ","Ợ","Ờ","Ở","Ỡ","Ȏ","Ꝋ","Ꝍ","Ō","Ṓ","Ṑ","Ɵ","Ǫ","Ǭ","Ø","Ǿ","Õ","Ṍ","Ṏ","Ȭ","Ƣ","Ꝏ","Ɛ","Ɔ","Ȣ","Ṕ","Ṗ","Ꝓ","Ƥ","Ꝕ","Ᵽ","Ꝑ","Ꝙ","Ꝗ","Ŕ","Ř","Ŗ","Ṙ","Ṛ","Ṝ","Ȑ","Ȓ","Ṟ","Ɍ","Ɽ","Ꜿ","Ǝ","Ś","Ṥ","Š","Ṧ","Ş","Ŝ","Ș","Ṡ","Ṣ","Ṩ","ẞ","Ť","Ţ","Ṱ","Ț","Ⱦ","Ṫ","Ṭ","Ƭ","Ṯ","Ʈ","Ŧ","Ɐ","Ꞁ","Ɯ","Ʌ","Ꜩ","Ú","Ŭ","Ǔ","Û","Ṷ","Ü","Ǘ","Ǚ","Ǜ","Ǖ","Ṳ","Ụ","Ű","Ȕ","Ù","Ủ","Ư","Ứ","Ự","Ừ","Ử","Ữ","Ȗ","Ū","Ṻ","Ų","Ů","Ũ","Ṹ","Ṵ","Ꝟ","Ṿ","Ʋ","Ṽ","Ꝡ","Ẃ","Ŵ","Ẅ","Ẇ","Ẉ","Ẁ","Ⱳ","Ẍ","Ẋ","Ý","Ŷ","Ÿ","Ẏ","Ỵ","Ỳ","Ƴ","Ỷ","Ỿ","Ȳ","Ɏ","Ỹ","Ź","Ž","Ẑ","Ⱬ","Ż","Ẓ","Ȥ","Ẕ","Ƶ","IJ","Œ","ᴀ","ᴁ","ʙ","ᴃ","ᴄ","ᴅ","ᴇ","ꜰ","ɢ","ʛ","ʜ","ɪ","ʁ","ᴊ","ᴋ","ʟ","ᴌ","ᴍ","ɴ","ᴏ","ɶ","ᴐ","ᴕ","ᴘ","ʀ","ᴎ","ᴙ","ꜱ","ᴛ","ⱻ","ᴚ","ᴜ","ᴠ","ᴡ","ʏ","ᴢ","á","ă","ắ","ặ","ằ","ẳ","ẵ","ǎ","â","ấ","ậ","ầ","ẩ","ẫ","ä","ǟ","ȧ","ǡ","ạ","ȁ","à","ả","ȃ","ā","ą","ᶏ","ẚ","å","ǻ","ḁ","ⱥ","ã","ꜳ","æ","ǽ","ǣ","ꜵ","ꜷ","ꜹ","ꜻ","ꜽ","ḃ","ḅ","ɓ","ḇ","ᵬ","ᶀ","ƀ","ƃ","ɵ","ć","č","ç","ḉ","ĉ","ɕ","ċ","ƈ","ȼ","ď","ḑ","ḓ","ȡ","ḋ","ḍ","ɗ","ᶑ","ḏ","ᵭ","ᶁ","đ","ɖ","ƌ","ı","ȷ","ɟ","ʄ","dz","dž","é","ĕ","ě","ȩ","ḝ","ê","ế","ệ","ề","ể","ễ","ḙ","ë","ė","ẹ","ȅ","è","ẻ","ȇ","ē","ḗ","ḕ","ⱸ","ę","ᶒ","ɇ","ẽ","ḛ","ꝫ","ḟ","ƒ","ᵮ","ᶂ","ǵ","ğ","ǧ","ģ","ĝ","ġ","ɠ","ḡ","ᶃ","ǥ","ḫ","ȟ","ḩ","ĥ","ⱨ","ḧ","ḣ","ḥ","ɦ","ẖ","ħ","ƕ","í","ĭ","ǐ","î","ï","ḯ","ị","ȉ","ì","ỉ","ȋ","ī","į","ᶖ","ɨ","ĩ","ḭ","ꝺ","ꝼ","ᵹ","ꞃ","ꞅ","ꞇ","ꝭ","ǰ","ĵ","ʝ","ɉ","ḱ","ǩ","ķ","ⱪ","ꝃ","ḳ","ƙ","ḵ","ᶄ","ꝁ","ꝅ","ĺ","ƚ","ɬ","ľ","ļ","ḽ","ȴ","ḷ","ḹ","ⱡ","ꝉ","ḻ","ŀ","ɫ","ᶅ","ɭ","ł","lj","ſ","ẜ","ẛ","ẝ","ḿ","ṁ","ṃ","ɱ","ᵯ","ᶆ","ń","ň","ņ","ṋ","ȵ","ṅ","ṇ","ǹ","ɲ","ṉ","ƞ","ᵰ","ᶇ","ɳ","ñ","nj","ó","ŏ","ǒ","ô","ố","ộ","ồ","ổ","ỗ","ö","ȫ","ȯ","ȱ","ọ","ő","ȍ","ò","ỏ","ơ","ớ","ợ","ờ","ở","ỡ","ȏ","ꝋ","ꝍ","ⱺ","ō","ṓ","ṑ","ǫ","ǭ","ø","ǿ","õ","ṍ","ṏ","ȭ","ƣ","ꝏ","ɛ","ᶓ","ɔ","ᶗ","ȣ","ṕ","ṗ","ꝓ","ƥ","ᵱ","ᶈ","ꝕ","ᵽ","ꝑ","ꝙ","ʠ","ɋ","ꝗ","ŕ","ř","ŗ","ṙ","ṛ","ṝ","ȑ","ɾ","ᵳ","ȓ","ṟ","ɼ","ᵲ","ᶉ","ɍ","ɽ","ↄ","ꜿ","ɘ","ɿ","ś","ṥ","š","ṧ","ş","ŝ","ș","ṡ","ṣ","ṩ","ʂ","ᵴ","ᶊ","ȿ","ɡ","ß","ᴑ","ᴓ","ᴝ","ť","ţ","ṱ","ț","ȶ","ẗ","ⱦ","ṫ","ṭ","ƭ","ṯ","ᵵ","ƫ","ʈ","ŧ","ᵺ","ɐ","ᴂ","ǝ","ᵷ","ɥ","ʮ","ʯ","ᴉ","ʞ","ꞁ","ɯ","ɰ","ᴔ","ɹ","ɻ","ɺ","ⱹ","ʇ","ʌ","ʍ","ʎ","ꜩ","ú","ŭ","ǔ","û","ṷ","ü","ǘ","ǚ","ǜ","ǖ","ṳ","ụ","ű","ȕ","ù","ủ","ư","ứ","ự","ừ","ử","ữ","ȗ","ū","ṻ","ų","ᶙ","ů","ũ","ṹ","ṵ","ᵫ","ꝸ","ⱴ","ꝟ","ṿ","ʋ","ᶌ","ⱱ","ṽ","ꝡ","ẃ","ŵ","ẅ","ẇ","ẉ","ẁ","ⱳ","ẘ","ẍ","ẋ","ᶍ","ý","ŷ","ÿ","ẏ","ỵ","ỳ","ƴ","ỷ","ỿ","ȳ","ẙ","ɏ","ỹ","ź","ž","ẑ","ʑ","ⱬ","ż","ẓ","ȥ","ẕ","ᵶ","ᶎ","ʐ","ƶ","ɀ","ff","ffi","ffl","fi","fl","ij","œ","st","ₐ","ₑ","ᵢ","ⱼ","ₒ","ᵣ","ᵤ","ᵥ","ₓ","LinesPipe","UnderscorePipe","MatchPipe","pattern","flags","TestPipe","test","LeftPadPipe","padCharacter","RightPadPipe","MakePluralStringPipe","addendum","alga","alumna","alumnus","analysis","antenna","appendix","aquarium","arch","axe","axis","bacillus","bacterium","basis","batch","beach","beau","bison","brush","buffalo","bureau","bus","cactus","calf","chateau","cherry","child","church","circus","cod","corps","corpus","crisis","criterion","curriculum","datum","deer","diagnosis","die","domino","dwarf","echo","elf","ellipsis","embargo","emphasis","erratum","fax","fireman","fish","flush","focus","foot","formula","fungus","genus","goose","grafito","half","hero","hoax","hoof","hypothesis","kiss","knife","leaf","life","loaf","louse","man","mango","matrix","means","medium","memorandum","millennium","moose","mosquito","motto","mouse","nebula","neurosis","nucleus","oasis","octopus","ovum","ox","paralysis","parenthesis","person","phenomenon","plateau","potato","quiz","radius","reflex","runner-up","scampo","scarf","scissors","scratch","self","series","sheaf","sheep","shelf","son-in-law","species","splash","stimulus","stitch","stratum","syllabus","symposium","synopsis","synthesis","tableau","tax","that","thesis","thief","tomato","tooth","tornado","torpedo","vertebra","veto","vita","volcano","waltz","wash","watch","wharf","wife","wolf","woman","zero","singularEntity","quantity","lastWord","toLocaleUpperCase","WrapPipe","prefix","STRING_PIPES","NgStringPipesModule","MaxPipe","max","MinPipe","min","PercentagePipe","total","isNaN","percent","SumPipe","sum","FloorPipe","RoundPipe","SqrtPipe","sqrt","PowerPipe","power","CeilPipe","DegreesPipe","radians","PI","NaN","BytesPipe","dictionary","type","format","find","calc","RadiansPipe","degrees","MATH_PIPES","NgMathPipesModule","IsDefinedPipe","IsNullPipe","IsUndefinedPipe","IsStringPipe","IsFunctionPipe","IsNumberPipe","IsArrayPipe","IsObjectPipe","IsGreaterEqualThanPipe","IsGreaterThanPipe","IsLessEqualThanPipe","IsEqualToPipe","IsNotEqualToPipe","IsIdenticalToPipe","IsNotIdenticalToPipe","IsLessThanPipe","BOOLEAN_PIPES","NgBooleanPipesModule","TimeAgoPipe","inputDate","getTime","toDate","past","now","Date","TimeAgoPipe_1","MAPPER","ms","div","YEAR_MS","unit","single","many","DATE_PIPES","NgDatePipesModule","NgPipesModule"],"mappings":"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IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,IACLC,IAAK,KACLC,IAAK,MACLC,IAAK,MACLC,IAAK,KACLC,I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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'diff' })\nexport class DiffPipe implements PipeTransform {\n transform(input: any[], ...args: any[]): any[];\n transform<T>(input: T, ...args: any[]): T;\n\n transform(input: any, ...args: any[]): any {\n if (!Array.isArray(input)) {\n return input;\n }\n\n // tslint:disable-next-line no-bitwise\n return args.reduce((d, c) => d.filter((e: any) => !~c.indexOf(e)), input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'initial' })\nexport class InitialPipe implements PipeTransform {\n transform(input: any[], num: number): any[];\n transform(input: any): any;\n\n transform(input: any, num: number = 0): any[] {\n return Array.isArray(input) ? input.slice(0, input.length - num) : input;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'flatten' })\nexport class FlattenPipe implements PipeTransform {\n transform(input: any[], shallow?: boolean): any[];\n transform<T>(input: T, shallow?: boolean): T;\n\n transform(input: any, shallow: boolean = false): any {\n if (!Array.isArray(input)) {\n return input;\n }\n\n return shallow ? [].concat.apply([], input) : this.flatten(input);\n }\n\n private flatten(array: any[]): any[] {\n return array.reduce((arr: any[], elm: any) => {\n if (Array.isArray(elm)) {\n return arr.concat(this.flatten(elm));\n }\n\n return arr.concat(elm);\n }, []);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'intersection' })\nexport class IntersectionPipe implements PipeTransform {\n transform(input: any[], ...args: any[]): any[];\n transform<T>(input: T, ...args: any[]): T;\n\n transform(input: any, ...args: any[]): any {\n if (!Array.isArray(input)) {\n return input;\n }\n\n // tslint:disable-next-line no-bitwise\n return args.reduce((n, c) => n.filter((e: any) => !!~c.indexOf(e)), input);\n }\n}\n","export function isUndefined(value: any) {\n return typeof value === 'undefined';\n}\n\nexport function isFunction(value: any) {\n return typeof value === 'function';\n}\n\nexport function isNumber(value: any) {\n return typeof value === 'number';\n}\n\nexport function isString(value: any) {\n return typeof value === 'string';\n}\n\nexport function isBoolean(value: any) {\n return typeof value === 'boolean';\n}\n\nexport function isObject(value: any) {\n return value !== null && typeof value === 'object';\n}\n\nexport function isNumberFinite(value: any) {\n return isNumber(value) && isFinite(value);\n}\n\nexport function isVowel(letter: string): boolean {\n const vowels = ['a', 'e', 'i', 'o', 'u'];\n\n return vowels.indexOf(letter) !== -1;\n}\n\nexport function ucFirst(text: string) {\n const [part, ...split] = text.split(/\\s/g);\n\n const ucd = part\n .toLowerCase()\n .split(/(?=['|-])/g)\n .map(\n (word: any) =>\n word.indexOf('-') + word.indexOf(\"'\") > -2\n ? word.slice(0, 2).toUpperCase() + word.slice(2)\n : word.slice(0, 1).toUpperCase() + word.slice(1)\n )\n .join('');\n\n return [ucd, ...split].join(' ');\n}\n\nexport function applyPrecision(num: number, precision: number) {\n if (precision <= 0) {\n return Math.round(num);\n }\n\n const tho = 10 ** precision;\n\n return Math.round(num * tho) / tho;\n}\n\nexport function extractDeepPropertyByMapKey(obj: any, map: string): any {\n const keys = map.split('.');\n const head = keys.shift();\n\n return keys.reduce((prop: any, key: string) => {\n return !isUndefined(prop) && !isUndefined(prop[key]) ? prop[key] : undefined;\n }, obj[head || '']);\n}\n\nexport function extractDeepPropertyByParentMapKey(obj: any, map: string): any {\n const keys = map.split('.');\n const tail = keys.pop();\n const props = extractDeepPropertyByMapKey(obj, keys.join('.'));\n\n return { props, tail };\n}\n\nexport function getKeysTwoObjects(obj: any, other: any): any {\n return [...Object.keys(obj), ...Object.keys(other)].filter((key, index, array) => array.indexOf(key) === index);\n}\n\nexport function isDeepEqual(obj: any, other: any): any {\n if (!isObject(obj) || !isObject(other)) {\n return obj === other;\n }\n\n return getKeysTwoObjects(obj, other).every(\n (key: any): boolean => {\n if (!isObject(obj[key]) && !isObject(other[key])) {\n return obj[key] === other[key];\n }\n if (!isObject(obj[key]) || !isObject(other[key])) {\n return false;\n }\n\n return isDeepEqual(obj[key], other[key]);\n }\n );\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'reverse' })\nexport class ReversePipe implements PipeTransform {\n transform(input: any): any {\n if (isString(input)) {\n return input\n .split('')\n .reverse()\n .join('');\n }\n\n return Array.isArray(input) ? input.slice().reverse() : input;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'tail' })\nexport class TailPipe implements PipeTransform {\n transform(input: any[], num?: number): any[];\n transform<T>(input: T, num?: number): T;\n\n transform(input: any, num: number = 0): any {\n return Array.isArray(input) ? input.slice(num) : input;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'truthify' })\nexport class TrurthifyPipe implements PipeTransform {\n transform(input: any[]): any[];\n transform<T>(input: T): T;\n\n transform(input: any): any {\n return Array.isArray(input) ? input.filter(e => !!e) : input;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'union' })\nexport class UnionPipe implements PipeTransform {\n transform(input: any[], args?: any[]): any[];\n transform<T>(input: T, args?: any[]): T;\n\n transform(input: any, args: any[] = []): any {\n if (!Array.isArray(input) || !Array.isArray(args)) {\n return input;\n }\n\n return args.reduce((newArr, currArr) => {\n return newArr.concat(\n currArr.reduce((noDupArr: any[], curr: any) => {\n // tslint:disable-next-line:no-bitwise\n return !~noDupArr.indexOf(curr) && !~newArr.indexOf(curr) ? noDupArr.concat([curr]) : noDupArr;\n }, [])\n );\n }, input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { extractDeepPropertyByMapKey, isObject, isUndefined } from '../helpers/helpers';\n\n@Pipe({ name: 'unique' })\nexport class UniquePipe implements PipeTransform {\n transform(input: any[], args?: string | undefined): any[];\n transform<T>(input: T, args?: string | undefined): T;\n\n transform(input: any, propertyName?: string | undefined): any {\n const uniques: boolean[] = [];\n\n return Array.isArray(input)\n ? isUndefined(propertyName)\n ? input.filter((e, i) => input.indexOf(e) === i)\n : input.filter((e, i) => {\n let value = extractDeepPropertyByMapKey(e, propertyName);\n value = isObject(value) ? JSON.stringify(value) : value;\n\n if (isUndefined(value) || uniques[value]) {\n return false;\n }\n\n uniques[value] = true;\n\n return true;\n })\n : input;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'without' })\nexport class WithoutPipe implements PipeTransform {\n transform(input: any[], args?: any[]): any[];\n transform(input: any, args?: any[]): any;\n\n transform(input: any, args: any[] = []): any[] {\n return Array.isArray(input)\n ? // tslint:disable-next-line:no-bitwise\n input.filter(e => !~args.indexOf(e))\n : input;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { extractDeepPropertyByMapKey, isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'pluck', pure: false })\nexport class PluckPipe implements PipeTransform {\n transform(input: any[], map: string): any[];\n transform(input: any, map: string): any;\n transform<T>(input: T, map: string): T;\n\n transform(input: any, map: string): any {\n if (Array.isArray(input)) {\n return input.map(e => extractDeepPropertyByMapKey(e, map));\n }\n\n return isObject(input) ? extractDeepPropertyByMapKey(input, map) : input;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'shuffle' })\nexport class ShufflePipe implements PipeTransform {\n transform(input: any[]): any[];\n transform<T>(input: T): T;\n\n // Using a version of the Fisher-Yates shuffle algorithm\n // https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle\n transform(input: any): any {\n if (!Array.isArray(input)) {\n return input;\n }\n\n const shuffled = [...input];\n const n = input.length - 1;\n for (let i = 0; i < n; ++i) {\n const j = Math.floor(Math.random() * (n - i + 1)) + i;\n [shuffled[i], shuffled[j]] = [shuffled[j], shuffled[i]];\n }\n\n return shuffled;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'every' })\nexport class EveryPipe implements PipeTransform {\n transform(input: any, predicate: (value: any, index: number, array: any[]) => boolean): boolean | any[] {\n return Array.isArray(input) ? input.every(predicate) : false;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'some' })\nexport class SomePipe implements PipeTransform {\n transform(input: any[], predicate: (value: any, index: number, array: any[]) => boolean): boolean;\n transform<T>(input: T, predicate: (value: any, index: number, array: any[]) => boolean): T;\n\n transform(input: any, predicate: (value: any, index: number, array: any[]) => boolean): any {\n return Array.isArray(input) ? input.some(predicate) : input;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'sample' })\nexport class SamplePipe implements PipeTransform {\n transform(input: any[], len?: number): any[];\n transform<T>(input: T, len?: number): T;\n\n transform(input: any, len: number = 1): any {\n if (!Array.isArray(input)) {\n return input;\n }\n\n let sample: any[] = [];\n const tmp = [...input];\n const l = len < tmp.length ? len : tmp.length;\n for (let i = 0; i < l; ++i) {\n sample = sample.concat(tmp.splice(Math.floor(Math.random() * tmp.length), 1));\n }\n\n return sample;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { extractDeepPropertyByMapKey, isFunction } from '../helpers/helpers';\n\n@Pipe({ name: 'groupBy' })\nexport class GroupByPipe implements PipeTransform {\n transform(input: any, discriminator: any = [], delimiter: string = '|'): any {\n if (!Array.isArray(input)) {\n return input;\n }\n\n return this.groupBy(input, discriminator, delimiter);\n }\n\n private groupBy(list: any[], discriminator: any, delimiter: string) {\n return list.reduce((acc: any, payload: string) => {\n const key = this.extractKeyByDiscriminator(discriminator, payload, delimiter);\n\n acc[key] = Array.isArray(acc[key]) ? acc[key].concat([payload]) : [payload];\n\n return acc;\n }, {});\n }\n\n private extractKeyByDiscriminator(discriminator: any, payload: string, delimiter: string) {\n if (isFunction(discriminator)) {\n return (<Function>discriminator)(payload);\n }\n\n if (Array.isArray(discriminator)) {\n return discriminator.map(k => extractDeepPropertyByMapKey(payload, k)).join(delimiter);\n }\n\n return extractDeepPropertyByMapKey(payload, <string>discriminator);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport {\n extractDeepPropertyByMapKey,\n extractDeepPropertyByParentMapKey,\n isBoolean,\n isNumberFinite,\n isString,\n isUndefined,\n} from '../helpers/helpers';\n\n// tslint:disable no-bitwise\n@Pipe({ name: 'filterBy' })\nexport class FilterByPipe implements PipeTransform {\n transform(input: any[], props: Array<string>, search?: any, strict?: boolean): any[];\n transform<T>(input: T, props: Array<string>, search?: any, strict?: boolean): T;\n transform(input: any, props: Array<string>, search: any = '', strict: boolean = false): any {\n if (\n !Array.isArray(input) ||\n (!Array.isArray(search) && !isString(search) && !isNumberFinite(search) && !isBoolean(search))\n ) {\n return input;\n }\n\n const terms = String(search)\n .toLowerCase()\n .split(',');\n\n return input.filter(obj => {\n return props.some(prop => {\n return terms.some(term => {\n const value = extractDeepPropertyByMapKey(obj, prop);\n /* tslint:disable */\n const { props, tail } = extractDeepPropertyByParentMapKey(obj, prop);\n\n if (isUndefined(value) && !isUndefined(props) && Array.isArray(props)) {\n return props.some(parent => {\n const str = String(parent[tail]).toLowerCase();\n\n return strict ? str === term : !!~str.indexOf(term);\n });\n }\n\n if (isUndefined(value)) {\n return false;\n }\n\n const strValue: string = String(value).toLowerCase();\n\n return strict ? term === strValue : !!~strValue.indexOf(term);\n });\n });\n });\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { extractDeepPropertyByMapKey, isString, isUndefined } from '../helpers/helpers';\n\n@Pipe({ name: 'orderBy' })\nexport class OrderByPipe implements PipeTransform {\n transform(input: any[], config?: any): any[];\n transform<T>(input: T, config?: any): T;\n\n transform(input: any, config?: any): any {\n if (!Array.isArray(input)) {\n return input;\n }\n\n const out = [...input];\n\n // sort by multiple properties\n if (Array.isArray(config)) {\n return out.sort((a, b) => {\n const l = config.length;\n for (let i = 0; i < l; ++i) {\n const [prop, asc] = OrderByPipe.extractFromConfig(config[i]);\n const pos = OrderByPipe.orderCompare(prop, asc, a, b);\n if (pos !== 0) {\n return pos;\n }\n }\n\n return 0;\n });\n }\n\n // sort by a single property value\n if (isString(config)) {\n const [prop, asc, sign] = OrderByPipe.extractFromConfig(config);\n\n if (config.length === 1) {\n // tslint:disable-next-line:switch-default\n switch (sign) {\n case '+':\n return out.sort(OrderByPipe.simpleSort.bind(this));\n case '-':\n return out.sort(OrderByPipe.simpleSort.bind(this)).reverse();\n }\n }\n\n return out.sort(OrderByPipe.orderCompare.bind(this, prop, asc));\n }\n\n // default sort by value\n return out.sort(OrderByPipe.simpleSort.bind(this));\n }\n\n private static simpleSort(a: any, b: any) {\n return isString(a) && isString(b) ? a.toLowerCase().localeCompare(b.toLowerCase()) : a - b;\n }\n\n private static orderCompare(prop: string, asc: boolean, a: any, b: any) {\n const first = extractDeepPropertyByMapKey(a, prop);\n const second = extractDeepPropertyByMapKey(b, prop);\n\n if (first === second) {\n return 0;\n }\n\n if (isUndefined(first) || first === '') {\n return 1;\n }\n\n if (isUndefined(second) || second === '') {\n return -1;\n }\n\n if (isString(first) && isString(second)) {\n const pos = first.toLowerCase().localeCompare(second.toLowerCase());\n\n return asc ? pos : -pos;\n }\n\n return asc ? first - second : second - first;\n }\n\n private static extractFromConfig(config: any) {\n const sign = config.substr(0, 1);\n const prop = config.replace(/^[-+]/, '');\n const asc = sign !== '-';\n\n return [prop, asc, sign];\n }\n}\n","import { Pipe } from '@angular/core';\nimport { GroupByPipe } from './group-by';\n\n// tslint:disable use-pipe-transform-interface\n@Pipe({ name: 'groupByImpure', pure: false })\nexport class GroupByImpurePipe extends GroupByPipe {}\n","import { Pipe } from '@angular/core';\nimport { FilterByPipe } from './filter-by';\n\n// tslint:disable use-pipe-transform-interface\n@Pipe({ name: 'filterByImpure', pure: false })\nexport class FilterByImpurePipe extends FilterByPipe {}\n","import { Pipe } from '@angular/core';\nimport { OrderByPipe } from './order-by';\n\n// tslint:disable use-pipe-transform-interface\n@Pipe({ name: 'orderByImpure', pure: false })\nexport class OrderByImpurePipe extends OrderByPipe {}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'range' })\nexport class RangePipe implements PipeTransform {\n transform(start: number = 1, count: number = 0, step: number = 1): any {\n return Array(count)\n .fill('')\n .map((v, i) => step * i + start);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'chunk' })\nexport class ChunkPipe implements PipeTransform {\n transform(input: any, size: number = 1): any {\n if (isString(input)) {\n return this.chunk(input\n .split(''), size);\n }\n\n return Array.isArray(input) ? this.chunk(input, size) : input;\n }\n\n private chunk(input: any[], size: number) {\n return Array(Math.ceil(input.length / size))\n .fill([])\n .map((_, index) => index * size)\n .map(begin => input.slice(begin, begin + size));\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'fromPairs' })\nexport class FromPairsPipe implements PipeTransform {\n transform(input: any): any {\n if (!Array.isArray(input)) {\n return input;\n }\n\n return input.reduce((obj, arr) => {\n if (!Array.isArray(arr)) {\n return obj;\n }\n\n const [prop, val] = arr;\n\n obj[prop] = val;\n\n return obj;\n }, {});\n }\n}\n","import { DiffPipe } from './diff';\nimport { InitialPipe } from './initial';\nimport { FlattenPipe } from './flatten';\nimport { IntersectionPipe } from './intersection';\nimport { ReversePipe } from './reverse';\nimport { TailPipe } from './tail';\nimport { TrurthifyPipe } from './truthify';\nimport { UnionPipe } from './union';\nimport { UniquePipe } from './unique';\nimport { WithoutPipe } from './without';\nimport { PluckPipe } from './pluck';\nimport { ShufflePipe } from './shuffle';\nimport { EveryPipe } from './every';\nimport { SomePipe } from './some';\nimport { SamplePipe } from './sample';\nimport { GroupByPipe } from './group-by';\nimport { FilterByPipe } from './filter-by';\nimport { OrderByPipe } from './order-by';\nimport { NgModule } from '@angular/core';\nimport { GroupByImpurePipe } from './group-by-impure';\nimport { FilterByImpurePipe } from './filter-by-impure';\nimport { OrderByImpurePipe } from './order-by-impure';\nimport { RangePipe } from './range';\nimport { ChunkPipe } from './chunk';\nimport {FromPairsPipe} from './from-pairs';\n\nconst ARRAY_PIPES = [\n DiffPipe,\n FlattenPipe,\n InitialPipe,\n IntersectionPipe,\n ReversePipe,\n TailPipe,\n TrurthifyPipe,\n UnionPipe,\n UniquePipe,\n WithoutPipe,\n PluckPipe,\n ShufflePipe,\n EveryPipe,\n SomePipe,\n SamplePipe,\n GroupByPipe,\n GroupByImpurePipe,\n FilterByPipe,\n FilterByImpurePipe,\n OrderByPipe,\n OrderByImpurePipe,\n RangePipe,\n ChunkPipe,\n FromPairsPipe\n];\n\n@NgModule({\n declarations: ARRAY_PIPES,\n imports: [],\n exports: ARRAY_PIPES,\n})\nexport class NgArrayPipesModule {}\n\nexport { DiffPipe } from './diff';\nexport { InitialPipe } from './initial';\nexport { FlattenPipe } from './flatten';\nexport { IntersectionPipe } from './intersection';\nexport { ReversePipe } from './reverse';\nexport { TailPipe } from './tail';\nexport { TrurthifyPipe } from './truthify';\nexport { UnionPipe } from './union';\nexport { UniquePipe } from './unique';\nexport { WithoutPipe } from './without';\nexport { PluckPipe } from './pluck';\nexport { ShufflePipe } from './shuffle';\nexport { EveryPipe } from './every';\nexport { SomePipe } from './some';\nexport { SamplePipe } from './sample';\nexport { GroupByPipe } from './group-by';\nexport { FilterByPipe } from './filter-by';\nexport { OrderByPipe } from './order-by';\nexport { GroupByImpurePipe } from './group-by-impure';\nexport { FilterByImpurePipe } from './filter-by-impure';\nexport { OrderByImpurePipe } from './order-by-impure';\nexport { RangePipe } from './range';\nexport { ChunkPipe } from './chunk';\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'keys' })\nexport class KeysPipe implements PipeTransform {\n transform(obj: any): any[] {\n if (Array.isArray(obj) || !isObject(obj)) {\n return obj;\n }\n\n return Object.keys(obj);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'values' })\nexport class ValuesPipe implements PipeTransform {\n transform(obj: any): any[] {\n if (Array.isArray(obj) || !isObject(obj)) {\n return obj;\n }\n\n return Object.keys(obj).map(k => obj[k]);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'pairs' })\nexport class PairsPipe implements PipeTransform {\n transform(obj: any): any[] {\n if (Array.isArray(obj) || !isObject(obj)) {\n return obj;\n }\n\n return Object.entries(obj);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'pick' })\nexport class PickPipe implements PipeTransform {\n transform(obj: any, ...args: Array<string>): Object {\n if (Array.isArray(obj) || !isObject(obj)) {\n return obj;\n }\n\n return args.reduce((o, k) => {\n return Object.assign(o, { [k]: obj[k] });\n }, {});\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'omit' })\nexport class OmitPipe implements PipeTransform {\n transform(obj: any, ...args: Array<string>): Object {\n if (Array.isArray(obj) || !isObject(obj)) {\n return obj;\n }\n\n return (\n Object.keys(obj)\n // tslint:disable-next-line:no-bitwise\n .filter(k => !~args.indexOf(k))\n .reduce((o, k) => {\n return Object.assign(o, { [k]: obj[k] });\n }, {})\n );\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'invert' })\nexport class InvertPipe implements PipeTransform {\n transform(obj: any): Object {\n if (Array.isArray(obj) || !isObject(obj)) {\n return obj;\n }\n\n return Object.keys(obj).reduce((o, k) => {\n return Object.assign(o, { [obj[k]]: k });\n }, {});\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'invertBy' })\nexport class InvertByPipe implements PipeTransform {\n transform(obj: any, cb?: Function): Object {\n if (Array.isArray(obj) || !isObject(obj)) {\n return obj;\n }\n\n return Object.keys(obj).reduce((o: any, k: string) => {\n const key = cb ? cb(obj[k]) : obj[k];\n\n return Array.isArray(o[key]) ? (o[key].push(k), o) : Object.assign(o, { [key]: [k] });\n }, {});\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { getKeysTwoObjects, isDeepEqual, isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'diffObj' })\nexport class DiffObjPipe implements PipeTransform {\n transform(obj: any, original: any = {}): any {\n if (Array.isArray(obj) || Array.isArray(original) || !isObject(obj) || !isObject(original)) {\n return {};\n }\n\n return getKeysTwoObjects(obj, original).reduce((diff: any, key: any) => {\n if (!isDeepEqual(original[key], obj[key])) {\n diff[key] = obj[key];\n }\n\n return diff;\n }, {});\n }\n}\n","import { KeysPipe } from './keys';\nimport { ValuesPipe } from './values';\nimport { PairsPipe } from './pairs';\nimport { PickPipe } from './pick';\nimport { OmitPipe } from './omit';\nimport { InvertPipe } from './invert';\nimport { InvertByPipe } from './invert-by';\nimport { DiffObjPipe } from './diff-obj';\nimport { NgModule } from '@angular/core';\n\nconst OBJECT_PIPES = [KeysPipe, ValuesPipe, PairsPipe, PickPipe, InvertPipe, InvertByPipe, OmitPipe, DiffObjPipe];\n\n@NgModule({\n declarations: OBJECT_PIPES,\n imports: [],\n exports: OBJECT_PIPES,\n})\nexport class NgObjectPipesModule {}\n\nexport { KeysPipe } from './keys';\nexport { ValuesPipe } from './values';\nexport { PairsPipe } from './pairs';\nexport { PickPipe } from './pick';\nexport { OmitPipe } from './omit';\nexport { InvertPipe } from './invert';\nexport { InvertByPipe } from './invert-by';\nexport { DiffObjPipe } from './diff-obj';\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isVowel } from '../helpers/helpers';\n\n@Pipe({\n name: 'aOrAn',\n})\n/**\n * Takes a string and returns the string prepended by 'a' or 'an'.\n * Uses both naive and holdout-list approaches.\n * @constructor\n * @param {string} stringEntity - Entity to prepend 'a' or 'an' to.\n */\nexport class AorAnPipe implements PipeTransform {\n private irregularMap: any = {\n herb: 'an',\n honor: 'an',\n honorable: 'an',\n hour: 'an',\n mba: 'an',\n msc: 'an',\n 'm.sc.': 'an',\n unicorn: 'a',\n };\n transform(stringEntity: string): string {\n if (!stringEntity || stringEntity === '') {\n return '';\n } else {\n const firstWord = stringEntity.trim().split(' ')[0];\n if (this.irregularMap[firstWord.toLocaleLowerCase()]) {\n return `${this.irregularMap[firstWord.toLocaleLowerCase()]} ${stringEntity}`;\n } else {\n return isVowel(stringEntity[0]) ? `an ${stringEntity}` : `a ${stringEntity}`;\n }\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString, ucFirst } from '../helpers/helpers';\n\n@Pipe({ name: 'ucwords' })\nexport class UcWordsPipe implements PipeTransform {\n transform(input: string): string;\n transform(input: any): any;\n\n transform(text: any): string {\n if (isString(text)) {\n return text\n .split(' ')\n .map((sub: any) => ucFirst(sub))\n .join(' ');\n }\n\n return text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'ltrim' })\nexport class LeftTrimPipe implements PipeTransform {\n transform(text: string, chars: string = '\\\\s'): string {\n return isString(text) ? text.replace(new RegExp(`^[${chars}]+`), '') : text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'repeat' })\nexport class RepeatPipe implements PipeTransform {\n transform(str: string, n: number = 1, separator: string = ''): string {\n if (n <= 0) {\n throw new RangeError();\n }\n\n return n === 1 ? str : this.repeat(str, n - 1, separator);\n }\n\n private repeat(str: string, n: number, separator: string): string {\n return isString(str) ? (n === 0 ? str : str + separator + this.repeat(str, n - 1, separator)) : str;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'rtrim' })\nexport class RightTrimPipe implements PipeTransform {\n transform(text: string, chars: string = '\\\\s'): string {\n return isString(text) ? text.replace(new RegExp(`[${chars}]+$`), '') : text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString, isUndefined } from '../helpers/helpers';\n\n@Pipe({ name: 'scan' })\nexport class ScanPipe implements PipeTransform {\n transform(text: string, args: string[] = []): string {\n return isString(text)\n ? text.replace(/\\{(\\d+)}/g, (match, index) => (!isUndefined(args[index]) ? args[index] : match))\n : text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'shorten' })\nexport class ShortenPipe implements PipeTransform {\n transform(input: string, length?: number, suffix?: string, wordBreak?: boolean): string;\n transform(input: any, length?: number, suffix?: string, wordBreak?: boolean): any;\n\n transform(text: any, length: number = 0, suffix: string = '', wordBreak: boolean = true): string {\n if (!isString(text)) {\n return text;\n }\n\n if (text.length > length) {\n if (wordBreak) {\n return text.slice(0, length) + suffix;\n }\n\n // tslint:disable-next-line:no-bitwise\n if (!!~text.indexOf(' ', length)) {\n return text.slice(0, text.indexOf(' ', length)) + suffix;\n }\n }\n\n return text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'stripTags' })\nexport class StripTagsPipe implements PipeTransform {\n transform(text: string, ...allowedTags: any[]): string {\n return allowedTags.length > 0\n ? text.replace(new RegExp(`<(?!\\/?(${allowedTags.join('|')})\\s*\\/?)[^>]+>`, 'g'), '')\n : text.replace(/<(?:.|\\s)*?>/g, '');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'trim' })\nexport class TrimPipe implements PipeTransform {\n transform(text: string, chars: string = '\\\\s'): string {\n return isString(text) ? text.replace(new RegExp(`^[${chars}]+|[${chars}]+$`, 'g'), '') : text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString, ucFirst } from '../helpers/helpers';\n\n@Pipe({ name: 'ucfirst' })\nexport class UcFirstPipe implements PipeTransform {\n transform(input: string): string;\n transform(input: any): any;\n\n transform(text: any): string {\n return isString(text) ? ucFirst(text) : text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'slugify' })\nexport class SlugifyPipe implements PipeTransform {\n transform(str: string): string {\n return isString(str)\n ? str\n .toLowerCase()\n .trim()\n .replace(/[^\\w\\-]+/g, ' ')\n .replace(/\\s+/g, '-')\n : str;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'camelize' })\nexport class CamelizePipe implements PipeTransform {\n transform(input: string, chars?: string): string;\n transform(input: any, chars?: string): any;\n\n transform(text: any, chars: string = '\\\\s'): string {\n if (!isString(text)) {\n return text;\n }\n\n return text\n .toLowerCase()\n .split(/[-_\\s]/g)\n .filter((v: string) => !!v)\n .map((word: string, key: any) => {\n return !key ? word : word.slice(0, 1).toUpperCase() + word.slice(1);\n })\n .join('');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'latinise' })\nexport class LatinisePipe implements PipeTransform {\n // Source: http://semplicewebsites.com/removing-accents-javascript\n // tslint:disable-next-line whitespace max-line-length object-literal-key-quotes\n private latinMap: any = {\n 'Á': 'A',\n 'Ă': 'A',\n 'Ắ': 'A',\n 'Ặ': 'A',\n 'Ằ': 'A',\n 'Ẳ': 'A',\n 'Ẵ': 'A',\n 'Ǎ': 'A',\n 'Â': 'A',\n 'Ấ': 'A',\n 'Ậ': 'A',\n 'Ầ': 'A',\n 'Ẩ': 'A',\n 'Ẫ': 'A',\n 'Ä': 'A',\n 'Ǟ': 'A',\n 'Ȧ': 'A',\n 'Ç ': 'A',\n 'Ạ': 'A',\n 'Ȁ': 'A',\n 'À': 'A',\n 'Ả': 'A',\n 'Ȃ': 'A',\n 'Ā': 'A',\n 'Ą': 'A',\n 'Å': 'A',\n 'Ǻ': 'A',\n 'Ḁ': 'A',\n 'Ⱥ': 'A',\n 'Ã': 'A',\n 'Ꜳ': 'AA',\n 'Æ': 'AE',\n 'Ǽ': 'AE',\n 'Ç¢': 'AE',\n 'Ꜵ': 'AO',\n 'Ꜷ': 'AU',\n 'Ꜹ': 'AV',\n 'Ꜻ': 'AV',\n 'Ꜽ': 'AY',\n 'Ḃ': 'B',\n 'Ḅ': 'B',\n 'Ɓ': 'B',\n 'Ḇ': 'B',\n 'Ƀ': 'B',\n 'Ƃ': 'B',\n 'Ć': 'C',\n 'Č': 'C',\n 'Ç': 'C',\n 'Ḉ': 'C',\n 'Ĉ': 'C',\n 'Ċ': 'C',\n 'Ƈ': 'C',\n 'È»': 'C',\n 'Ď': 'D',\n 'Ḑ': 'D',\n 'Ḓ': 'D',\n 'Ḋ': 'D',\n 'Ḍ': 'D',\n 'Ɗ': 'D',\n 'Ḏ': 'D',\n 'Dz': 'D',\n 'Dž': 'D',\n 'Đ': 'D',\n 'Ƌ': 'D',\n 'DZ': 'DZ',\n 'DŽ': 'DZ',\n 'É': 'E',\n 'Ĕ': 'E',\n 'Ě': 'E',\n 'Ȩ': 'E',\n 'Ḝ': 'E',\n 'Ê': 'E',\n 'Ế': 'E',\n 'Ệ': 'E',\n 'Ề': 'E',\n 'Ể': 'E',\n 'Ễ': 'E',\n 'Ḙ': 'E',\n 'Ë': 'E',\n 'Ė': 'E',\n 'Ẹ': 'E',\n 'Ȅ': 'E',\n 'È': 'E',\n 'Ẻ': 'E',\n 'Ȇ': 'E',\n 'Ē': 'E',\n 'Ḗ': 'E',\n 'Ḕ': 'E',\n 'Ę': 'E',\n 'Ɇ': 'E',\n 'Ẽ': 'E',\n 'Ḛ': 'E',\n 'Ꝫ': 'ET',\n 'Ḟ': 'F',\n 'Ƒ': 'F',\n 'Ç´': 'G',\n 'Ğ': 'G',\n 'Ǧ': 'G',\n 'Ä¢': 'G',\n 'Ĝ': 'G',\n 'Ä ': 'G',\n 'Ɠ': 'G',\n 'Ḡ': 'G',\n 'Ǥ': 'G',\n 'Ḫ': 'H',\n 'Ȟ': 'H',\n 'Ḩ': 'H',\n 'Ĥ': 'H',\n 'Ⱨ': 'H',\n 'Ḧ': 'H',\n 'Ḣ': 'H',\n 'Ḥ': 'H',\n 'Ħ': 'H',\n 'Í': 'I',\n 'Ĭ': 'I',\n 'Ǐ': 'I',\n 'Î': 'I',\n 'Ï': 'I',\n 'Ḯ': 'I',\n 'Ä°': 'I',\n 'Ị': 'I',\n 'Ȉ': 'I',\n 'Ì': 'I',\n 'Ỉ': 'I',\n 'Ȋ': 'I',\n 'Ī': 'I',\n 'Ä®': 'I',\n 'Ɨ': 'I',\n 'Ĩ': 'I',\n 'Ḭ': 'I',\n 'Ꝺ': 'D',\n 'Ꝼ': 'F',\n 'Ᵹ': 'G',\n 'Ꞃ': 'R',\n 'Ꞅ': 'S',\n 'Ꞇ': 'T',\n 'Ꝭ': 'IS',\n 'Ä´': 'J',\n 'Ɉ': 'J',\n 'Ḱ': 'K',\n 'Ǩ': 'K',\n 'Ķ': 'K',\n 'Ⱪ': 'K',\n 'Ꝃ': 'K',\n 'Ḳ': 'K',\n 'Ƙ': 'K',\n 'Ḵ': 'K',\n 'Ꝁ': 'K',\n 'Ꝅ': 'K',\n 'Ĺ': 'L',\n 'Ƚ': 'L',\n 'Ľ': 'L',\n 'Ä»': 'L',\n 'Ḽ': 'L',\n 'Ḷ': 'L',\n 'Ḹ': 'L',\n 'â± ': 'L',\n 'Ꝉ': 'L',\n 'Ḻ': 'L',\n 'Ä¿': 'L',\n 'â±¢': 'L',\n 'Lj': 'L',\n 'Ł': 'L',\n 'LJ': 'LJ',\n 'Ḿ': 'M',\n 'Ṁ': 'M',\n 'Ṃ': 'M',\n 'â±®': 'M',\n 'Ń': 'N',\n 'Ň': 'N',\n 'Ņ': 'N',\n 'Ṋ': 'N',\n 'Ṅ': 'N',\n 'Ṇ': 'N',\n 'Ǹ': 'N',\n 'Ɲ': 'N',\n 'Ṉ': 'N',\n 'È ': 'N',\n 'Nj': 'N',\n 'Ñ': 'N',\n 'NJ': 'NJ',\n 'Ó': 'O',\n 'Ŏ': 'O',\n 'Ǒ': 'O',\n 'Ô': 'O',\n 'Ố': 'O',\n 'Ộ': 'O',\n 'Ồ': 'O',\n 'Ổ': 'O',\n 'Ỗ': 'O',\n 'Ö': 'O',\n 'Ȫ': 'O',\n 'È®': 'O',\n 'È°': 'O',\n 'Ọ': 'O',\n 'Ő': 'O',\n 'Ȍ': 'O',\n 'Ò': 'O',\n 'Ỏ': 'O',\n 'Æ ': 'O',\n 'Ớ': 'O',\n 'Ợ': 'O',\n 'Ờ': 'O',\n 'Ở': 'O',\n 'á» ': 'O',\n 'Ȏ': 'O',\n 'Ꝋ': 'O',\n 'Ꝍ': 'O',\n 'Ō': 'O',\n 'Ṓ': 'O',\n 'Ṑ': 'O',\n 'Ɵ': 'O',\n 'Ǫ': 'O',\n 'Ǭ': 'O',\n 'Ø': 'O',\n 'Ǿ': 'O',\n 'Õ': 'O',\n 'Ṍ': 'O',\n 'Ṏ': 'O',\n 'Ȭ': 'O',\n 'Æ¢': 'OI',\n 'Ꝏ': 'OO',\n 'Ɛ': 'E',\n 'Ɔ': 'O',\n 'È¢': 'OU',\n 'Ṕ': 'P',\n 'Ṗ': 'P',\n 'Ꝓ': 'P',\n 'Ƥ': 'P',\n 'Ꝕ': 'P',\n 'â±£': 'P',\n 'Ꝑ': 'P',\n 'Ꝙ': 'Q',\n 'Ꝗ': 'Q',\n 'Ŕ': 'R',\n 'Ř': 'R',\n 'Ŗ': 'R',\n 'Ṙ': 'R',\n 'Ṛ': 'R',\n 'Ṝ': 'R',\n 'Ȑ': 'R',\n 'Ȓ': 'R',\n 'Ṟ': 'R',\n 'Ɍ': 'R',\n 'Ɽ': 'R',\n 'Ꜿ': 'C',\n 'Ǝ': 'E',\n 'Ś': 'S',\n 'Ṥ': 'S',\n 'Å ': 'S',\n 'Ṧ': 'S',\n 'Ş': 'S',\n 'Ŝ': 'S',\n 'Ș': 'S',\n 'á¹ ': 'S',\n 'á¹¢': 'S',\n 'Ṩ': 'S',\n 'ẞ': 'SS',\n 'Ť': 'T',\n 'Å¢': 'T',\n 'á¹°': 'T',\n 'Ț': 'T',\n 'Ⱦ': 'T',\n 'Ṫ': 'T',\n 'Ṭ': 'T',\n 'Ƭ': 'T',\n 'á¹®': 'T',\n 'Æ®': 'T',\n 'Ŧ': 'T',\n 'Ɐ': 'A',\n 'Ꞁ': 'L',\n 'Ɯ': 'M',\n 'Ʌ': 'V',\n 'Ꜩ': 'TZ',\n 'Ú': 'U',\n 'Ŭ': 'U',\n 'Ǔ': 'U',\n 'Û': 'U',\n 'Ṷ': 'U',\n 'Ü': 'U',\n 'Ǘ': 'U',\n 'Ǚ': 'U',\n 'Ǜ': 'U',\n 'Ǖ': 'U',\n 'á¹²': 'U',\n 'Ụ': 'U',\n 'Å°': 'U',\n 'Ȕ': 'U',\n 'Ù': 'U',\n 'Ủ': 'U',\n 'Ư': 'U',\n 'Ứ': 'U',\n 'á»°': 'U',\n 'Ừ': 'U',\n 'Ử': 'U',\n 'á»®': 'U',\n 'Ȗ': 'U',\n 'Ū': 'U',\n 'Ṻ': 'U',\n 'Ų': 'U',\n 'Å®': 'U',\n 'Ũ': 'U',\n 'Ṹ': 'U',\n 'á¹´': 'U',\n 'Ꝟ': 'V',\n 'á¹¾': 'V',\n 'Ʋ': 'V',\n 'á¹¼': 'V',\n 'Ꝡ': 'VY',\n 'Ẃ': 'W',\n 'Å´': 'W',\n 'Ẅ': 'W',\n 'Ẇ': 'W',\n 'Ẉ': 'W',\n 'Ẁ': 'W',\n 'â±²': 'W',\n 'Ẍ': 'X',\n 'Ẋ': 'X',\n 'Ý': 'Y',\n 'Ŷ': 'Y',\n 'Ÿ': 'Y',\n 'Ẏ': 'Y',\n 'á»´': 'Y',\n 'Ỳ': 'Y',\n 'Ƴ': 'Y',\n 'Ỷ': 'Y',\n 'Ỿ': 'Y',\n 'Ȳ': 'Y',\n 'Ɏ': 'Y',\n 'Ỹ': 'Y',\n 'Ź': 'Z',\n 'Ž': 'Z',\n 'Ẑ': 'Z',\n 'Ⱬ': 'Z',\n 'Å»': 'Z',\n 'Ẓ': 'Z',\n 'Ȥ': 'Z',\n 'Ẕ': 'Z',\n 'Ƶ': 'Z',\n 'IJ': 'IJ',\n 'Œ': 'OE',\n 'ᴀ': 'A',\n 'ᴁ': 'AE',\n 'ʙ': 'B',\n 'ᴃ': 'B',\n 'ᴄ': 'C',\n 'ᴅ': 'D',\n 'ᴇ': 'E',\n 'ꜰ': 'F',\n 'É¢': 'G',\n 'ʛ': 'G',\n 'ʜ': 'H',\n 'ɪ': 'I',\n 'ʁ': 'R',\n 'ᴊ': 'J',\n 'ᴋ': 'K',\n 'ʟ': 'L',\n 'ᴌ': 'L',\n 'ᴍ': 'M',\n 'É´': 'N',\n 'ᴏ': 'O',\n 'ɶ': 'OE',\n 'ᴐ': 'O',\n 'ᴕ': 'OU',\n 'ᴘ': 'P',\n 'ʀ': 'R',\n 'ᴎ': 'N',\n 'ᴙ': 'R',\n 'ꜱ': 'S',\n 'ᴛ': 'T',\n 'â±»': 'E',\n 'ᴚ': 'R',\n 'ᴜ': 'U',\n 'á´ ': 'V',\n 'á´¡': 'W',\n 'ʏ': 'Y',\n 'á´¢': 'Z',\n 'á': 'a',\n 'ă': 'a',\n 'ắ': 'a',\n 'ặ': 'a',\n 'ằ': 'a',\n 'ẳ': 'a',\n 'ẵ': 'a',\n 'ǎ': 'a',\n 'â': 'a',\n 'ấ': 'a',\n 'ậ': 'a',\n 'ầ': 'a',\n 'ẩ': 'a',\n 'ẫ': 'a',\n 'ä': 'a',\n 'ǟ': 'a',\n 'ȧ': 'a',\n 'Ç¡': 'a',\n 'ạ': 'a',\n 'ȁ': 'a',\n 'à': 'a',\n 'ả': 'a',\n 'ȃ': 'a',\n 'ā': 'a',\n 'ą': 'a',\n 'ᶏ': 'a',\n 'ẚ': 'a',\n 'Ã¥': 'a',\n 'Ç»': 'a',\n 'ḁ': 'a',\n 'â±¥': 'a',\n 'ã': 'a',\n 'ꜳ': 'aa',\n 'æ': 'ae',\n 'ǽ': 'ae',\n 'Ç£': 'ae',\n 'ꜵ': 'ao',\n 'ꜷ': 'au',\n 'ꜹ': 'av',\n 'ꜻ': 'av',\n 'ꜽ': 'ay',\n 'ḃ': 'b',\n 'ḅ': 'b',\n 'ɓ': 'b',\n 'ḇ': 'b',\n 'ᵬ': 'b',\n 'ᶀ': 'b',\n 'ƀ': 'b',\n 'ƃ': 'b',\n 'ɵ': 'o',\n 'ć': 'c',\n 'č': 'c',\n 'ç': 'c',\n 'ḉ': 'c',\n 'ĉ': 'c',\n 'ɕ': 'c',\n 'ċ': 'c',\n 'ƈ': 'c',\n 'ȼ': 'c',\n 'ď': 'd',\n 'ḑ': 'd',\n 'ḓ': 'd',\n 'È¡': 'd',\n 'ḋ': 'd',\n 'ḍ': 'd',\n 'ɗ': 'd',\n 'ᶑ': 'd',\n 'ḏ': 'd',\n 'áµ­': 'd',\n 'ᶁ': 'd',\n 'đ': 'd',\n 'ɖ': 'd',\n 'ƌ': 'd',\n 'ı': 'i',\n 'È·': 'j',\n 'ɟ': 'j',\n 'ʄ': 'j',\n 'dz': 'dz',\n 'dž': 'dz',\n 'é': 'e',\n 'ĕ': 'e',\n 'ě': 'e',\n 'È©': 'e',\n 'ḝ': 'e',\n 'ê': 'e',\n 'ế': 'e',\n 'ệ': 'e',\n 'ề': 'e',\n 'ể': 'e',\n 'ễ': 'e',\n 'ḙ': 'e',\n 'ë': 'e',\n 'ė': 'e',\n 'ẹ': 'e',\n 'ȅ': 'e',\n 'è': 'e',\n 'ẻ': 'e',\n 'ȇ': 'e',\n 'ē': 'e',\n 'ḗ': 'e',\n 'ḕ': 'e',\n 'ⱸ': 'e',\n 'ę': 'e',\n 'ᶒ': 'e',\n 'ɇ': 'e',\n 'ẽ': 'e',\n 'ḛ': 'e',\n 'ꝫ': 'et',\n 'ḟ': 'f',\n 'ƒ': 'f',\n 'áµ®': 'f',\n 'ᶂ': 'f',\n 'ǵ': 'g',\n 'ğ': 'g',\n 'ǧ': 'g',\n 'Ä£': 'g',\n 'ĝ': 'g',\n 'Ä¡': 'g',\n 'É ': 'g',\n 'ḡ': 'g',\n 'ᶃ': 'g',\n 'Ç¥': 'g',\n 'ḫ': 'h',\n 'ȟ': 'h',\n 'ḩ': 'h',\n 'Ä¥': 'h',\n 'ⱨ': 'h',\n 'ḧ': 'h',\n 'ḣ': 'h',\n 'ḥ': 'h',\n 'ɦ': 'h',\n 'ẖ': 'h',\n 'ħ': 'h',\n 'ƕ': 'hv',\n 'í': 'i',\n 'Ä­': 'i',\n 'ǐ': 'i',\n 'î': 'i',\n 'ï': 'i',\n 'ḯ': 'i',\n 'ị': 'i',\n 'ȉ': 'i',\n 'ì': 'i',\n 'ỉ': 'i',\n 'ȋ': 'i',\n 'Ä«': 'i',\n 'į': 'i',\n 'ᶖ': 'i',\n 'ɨ': 'i',\n 'Ä©': 'i',\n 'ḭ': 'i',\n 'ꝺ': 'd',\n 'ꝼ': 'f',\n 'áµ¹': 'g',\n 'ꞃ': 'r',\n 'ꞅ': 's',\n 'ꞇ': 't',\n 'ꝭ': 'is',\n 'Ç°': 'j',\n 'ĵ': 'j',\n 'ʝ': 'j',\n 'ɉ': 'j',\n 'ḱ': 'k',\n 'Ç©': 'k',\n 'Ä·': 'k',\n 'ⱪ': 'k',\n 'ꝃ': 'k',\n 'ḳ': 'k',\n 'ƙ': 'k',\n 'ḵ': 'k',\n 'ᶄ': 'k',\n 'ꝁ': 'k',\n 'ꝅ': 'k',\n 'ĺ': 'l',\n 'ƚ': 'l',\n 'ɬ': 'l',\n 'ľ': 'l',\n 'ļ': 'l',\n 'ḽ': 'l',\n 'È´': 'l',\n 'ḷ': 'l',\n 'ḹ': 'l',\n 'ⱡ': 'l',\n 'ꝉ': 'l',\n 'ḻ': 'l',\n 'ŀ': 'l',\n 'É«': 'l',\n 'ᶅ': 'l',\n 'É­': 'l',\n 'ł': 'l',\n 'lj': 'lj',\n 'Å¿': 's',\n 'ẜ': 's',\n 'ẛ': 's',\n 'ẝ': 's',\n 'ḿ': 'm',\n 'ṁ': 'm',\n 'ṃ': 'm',\n 'ɱ': 'm',\n 'ᵯ': 'm',\n 'ᶆ': 'm',\n 'ń': 'n',\n 'ň': 'n',\n 'ņ': 'n',\n 'ṋ': 'n',\n 'ȵ': 'n',\n 'ṅ': 'n',\n 'ṇ': 'n',\n 'ǹ': 'n',\n 'ɲ': 'n',\n 'ṉ': 'n',\n 'ƞ': 'n',\n 'áµ°': 'n',\n 'ᶇ': 'n',\n 'ɳ': 'n',\n 'ñ': 'n',\n 'nj': 'nj',\n 'ó': 'o',\n 'ŏ': 'o',\n 'ǒ': 'o',\n 'ô': 'o',\n 'ố': 'o',\n 'ộ': 'o',\n 'ồ': 'o',\n 'ổ': 'o',\n 'ỗ': 'o',\n 'ö': 'o',\n 'È«': 'o',\n 'ȯ': 'o',\n 'ȱ': 'o',\n 'ọ': 'o',\n 'ő': 'o',\n 'ȍ': 'o',\n 'ò': 'o',\n 'ỏ': 'o',\n 'Æ¡': 'o',\n 'ớ': 'o',\n 'ợ': 'o',\n 'ờ': 'o',\n 'ở': 'o',\n 'ỡ': 'o',\n 'ȏ': 'o',\n 'ꝋ': 'o',\n 'ꝍ': 'o',\n 'ⱺ': 'o',\n 'ō': 'o',\n 'ṓ': 'o',\n 'ṑ': 'o',\n 'Ç«': 'o',\n 'Ç­': 'o',\n 'ø': 'o',\n 'Ç¿': 'o',\n 'õ': 'o',\n 'ṍ': 'o',\n 'ṏ': 'o',\n 'È­': 'o',\n 'Æ£': 'oi',\n 'ꝏ': 'oo',\n 'ɛ': 'e',\n 'ᶓ': 'e',\n 'ɔ': 'o',\n 'ᶗ': 'o',\n 'È£': 'ou',\n 'ṕ': 'p',\n 'ṗ': 'p',\n 'ꝓ': 'p',\n 'Æ¥': 'p',\n 'áµ±': 'p',\n 'ᶈ': 'p',\n 'ꝕ': 'p',\n 'áµ½': 'p',\n 'ꝑ': 'p',\n 'ꝙ': 'q',\n 'Ê ': 'q',\n 'ɋ': 'q',\n 'ꝗ': 'q',\n 'ŕ': 'r',\n 'ř': 'r',\n 'ŗ': 'r',\n 'ṙ': 'r',\n 'ṛ': 'r',\n 'ṝ': 'r',\n 'ȑ': 'r',\n 'ɾ': 'r',\n 'áµ³': 'r',\n 'ȓ': 'r',\n 'ṟ': 'r',\n 'ɼ': 'r',\n 'áµ²': 'r',\n 'ᶉ': 'r',\n 'ɍ': 'r',\n 'ɽ': 'r',\n 'ↄ': 'c',\n 'ꜿ': 'c',\n 'ɘ': 'e',\n 'É¿': 'r',\n 'ś': 's',\n 'á¹¥': 's',\n 'Å¡': 's',\n 'ṧ': 's',\n 'ş': 's',\n 'ŝ': 's',\n 'ș': 's',\n 'ṡ': 's',\n 'á¹£': 's',\n 'ṩ': 's',\n 'ʂ': 's',\n 'áµ´': 's',\n 'ᶊ': 's',\n 'È¿': 's',\n 'É¡': 'g',\n 'ß': 'ss',\n 'ᴑ': 'o',\n 'ᴓ': 'o',\n 'ᴝ': 'u',\n 'Å¥': 't',\n 'Å£': 't',\n 'á¹±': 't',\n 'ț': 't',\n 'ȶ': 't',\n 'ẗ': 't',\n 'ⱦ': 't',\n 'ṫ': 't',\n 'á¹­': 't',\n 'Æ­': 't',\n 'ṯ': 't',\n 'áµµ': 't',\n 'Æ«': 't',\n 'ʈ': 't',\n 'ŧ': 't',\n 'ᵺ': 'th',\n 'ɐ': 'a',\n 'ᴂ': 'ae',\n 'ǝ': 'e',\n 'áµ·': 'g',\n 'É¥': 'h',\n 'Ê®': 'h',\n 'ʯ': 'h',\n 'ᴉ': 'i',\n 'ʞ': 'k',\n 'ꞁ': 'l',\n 'ɯ': 'm',\n 'É°': 'm',\n 'ᴔ': 'oe',\n 'ɹ': 'r',\n 'É»': 'r',\n 'ɺ': 'r',\n 'â±¹': 'r',\n 'ʇ': 't',\n 'ʌ': 'v',\n 'ʍ': 'w',\n 'ʎ': 'y',\n 'ꜩ': 'tz',\n 'ú': 'u',\n 'Å­': 'u',\n 'ǔ': 'u',\n 'û': 'u',\n 'á¹·': 'u',\n 'ü': 'u',\n 'ǘ': 'u',\n 'ǚ': 'u',\n 'ǜ': 'u',\n 'ǖ': 'u',\n 'á¹³': 'u',\n 'ụ': 'u',\n 'ű': 'u',\n 'ȕ': 'u',\n 'ù': 'u',\n 'ủ': 'u',\n 'Æ°': 'u',\n 'ứ': 'u',\n 'á»±': 'u',\n 'ừ': 'u',\n 'á»­': 'u',\n 'ữ': 'u',\n 'ȗ': 'u',\n 'Å«': 'u',\n 'á¹»': 'u',\n 'ų': 'u',\n 'ᶙ': 'u',\n 'ů': 'u',\n 'Å©': 'u',\n 'á¹¹': 'u',\n 'á¹µ': 'u',\n 'ᵫ': 'ue',\n 'ꝸ': 'um',\n 'â±´': 'v',\n 'ꝟ': 'v',\n 'ṿ': 'v',\n 'ʋ': 'v',\n 'ᶌ': 'v',\n 'â±±': 'v',\n 'á¹½': 'v',\n 'ꝡ': 'vy',\n 'ẃ': 'w',\n 'ŵ': 'w',\n 'ẅ': 'w',\n 'ẇ': 'w',\n 'ẉ': 'w',\n 'ẁ': 'w',\n 'â±³': 'w',\n 'ẘ': 'w',\n 'ẍ': 'x',\n 'ẋ': 'x',\n 'ᶍ': 'x',\n 'ý': 'y',\n 'Å·': 'y',\n 'ÿ': 'y',\n 'ẏ': 'y',\n 'ỵ': 'y',\n 'ỳ': 'y',\n 'Æ´': 'y',\n 'á»·': 'y',\n 'ỿ': 'y',\n 'ȳ': 'y',\n 'ẙ': 'y',\n 'ɏ': 'y',\n 'ỹ': 'y',\n 'ź': 'z',\n 'ž': 'z',\n 'ẑ': 'z',\n 'ʑ': 'z',\n 'ⱬ': 'z',\n 'ż': 'z',\n 'ẓ': 'z',\n 'È¥': 'z',\n 'ẕ': 'z',\n 'ᵶ': 'z',\n 'ᶎ': 'z',\n 'ʐ': 'z',\n 'ƶ': 'z',\n 'ɀ': 'z',\n 'ff': 'ff',\n 'ffi': 'ffi',\n 'ffl': 'ffl',\n 'fi': 'fi',\n 'fl': 'fl',\n 'ij': 'ij',\n 'œ': 'oe',\n 'st': 'st',\n 'ₐ': 'a',\n 'ₑ': 'e',\n 'áµ¢': 'i',\n 'â±¼': 'j',\n 'ₒ': 'o',\n 'áµ£': 'r',\n 'ᵤ': 'u',\n 'áµ¥': 'v',\n 'ₓ': 'x',\n };\n\n transform(input: string, chars?: string): string;\n transform(input: any, chars?: string): any;\n\n transform(text: any, chars: string = '\\\\s'): string {\n return isString(text)\n ? text.replace(/[^A-Za-z0-9]/g, (key: string) => {\n return this.latinMap[key] || key;\n })\n : text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'lines' })\nexport class LinesPipe implements PipeTransform {\n transform(text: any, chars: string = '\\\\s'): Array<string> | any {\n return isString(text) ? text.replace(/\\r\\n/g, '\\n').split('\\n') : text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'underscore' })\nexport class UnderscorePipe implements PipeTransform {\n transform(input: string, chars?: string): string;\n transform(input: any, chars?: string): any;\n\n transform(text: any, chars: string = '\\\\s'): string {\n return isString(text)\n ? text\n .trim()\n .replace(/\\s+/g, '')\n .replace(/[A-Z]/g, (c: string, k: any) => {\n return k ? `_${c.toLowerCase()}` : c.toLowerCase();\n })\n : text;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'match' })\nexport class MatchPipe implements PipeTransform {\n transform(text: string, pattern: string, flags?: string): RegExpMatchArray | null;\n transform<T>(text: T, pattern: string, flags?: string): T;\n\n transform(text: any, pattern: string, flags?: string): any {\n if (!isString(text)) {\n return text;\n }\n\n return text.match(new RegExp(pattern, flags));\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'test' })\nexport class TestPipe implements PipeTransform {\n transform(text: string, pattern: string, flags?: string): boolean;\n transform<T>(text: T, pattern: string, flags?: string): T;\n\n transform(text: any, pattern: string, flags?: string): any {\n if (!isString(text)) {\n return text;\n }\n\n return new RegExp(pattern, flags).test(text);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'lpad' })\nexport class LeftPadPipe implements PipeTransform {\n transform(str: string, length: number, padCharacter: string = ' '): string {\n if (!isString(str) || str.length >= length) {\n return str;\n }\n while (str.length < length) {\n str = padCharacter + str;\n }\n\n return str;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'rpad' })\nexport class RightPadPipe implements PipeTransform {\n transform(str: string, length: number = 1, padCharacter: string = ' '): string {\n if (!isString(str) || str.length >= length) {\n return str;\n }\n while (str.length < length) {\n str = str + padCharacter;\n }\n\n return str;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isVowel } from '../helpers/helpers';\n\n@Pipe({\n name: 'makePluralString',\n})\n\n/**\n * Takes a singular entity string and pluralizes it.\n * Uses both naive and holdout-list approaches.\n * If several words appear in the string, only the last word is pluralized -- this\n * means that if \"your story\" was passed in, \"your stories\" would be passed out.\n *\n * @param {string} singularEntity - Entity to pluralize. Pass as a singular ('story' or 'house').\n * NOTE: The last word is examined. So you can pass in e.g. 'my story'.\n * @param {number} [quantity=0] quantity - How many of the entity are there? If left blank, this will\n * pluralize the string (e.g. 'story' -> 'stories', 'house' -> 'houses'). If given a value,\n * this will pluralize appropriately (e.g. ('story', 1) -> 'story', ('story', 2) -> 'stories').\n */\nexport class MakePluralStringPipe implements PipeTransform {\n private irregularMap: any = {\n addendum: 'addenda',\n alga: 'algae',\n alumna: 'alumnae',\n alumnus: 'alumni',\n analysis: 'analyses',\n antenna: 'antennae',\n appendix: 'appendices',\n aquarium: 'aquaria',\n arch: 'arches',\n axe: 'axes',\n axis: 'axes',\n bacillus: 'bacilli',\n bacterium: 'bacteria',\n basis: 'bases',\n batch: 'batches',\n beach: 'beaches',\n beau: 'beaux',\n bison: 'bison',\n brush: 'brushes',\n buffalo: 'buffaloes',\n bureau: 'bureaus',\n bus: 'busses',\n cactus: 'cacti',\n calf: 'calves',\n chateau: 'chateaux',\n cherry: 'cherries',\n child: 'children',\n church: 'churches',\n circus: 'circuses',\n cod: 'cod',\n corps: 'corps',\n corpus: 'corpora',\n crisis: 'crises',\n criterion: 'criteria',\n curriculum: 'curricula',\n datum: 'data',\n deer: 'deer',\n diagnosis: 'diagnoses',\n die: 'dice',\n domino: 'dominoes',\n dwarf: 'dwarves',\n echo: 'echoes',\n elf: 'elves',\n ellipsis: 'ellipses',\n embargo: 'embargoes',\n emphasis: 'emphases',\n erratum: 'errata',\n fax: 'faxes',\n fireman: 'firemen',\n fish: 'fish',\n flush: 'flushes',\n focus: 'foci',\n foot: 'feet',\n formula: 'formulas',\n fungus: 'fungi',\n genus: 'genera',\n goose: 'geese',\n grafito: 'grafiti',\n half: 'halves',\n hero: 'heroes',\n hoax: 'hoaxes',\n hoof: 'hooves',\n hypothesis: 'hypotheses',\n index: 'indices',\n kiss: 'kisses',\n knife: 'knives',\n leaf: 'leaves',\n life: 'lives',\n loaf: 'loaves',\n louse: 'lice',\n man: 'men',\n mango: 'mangoes',\n matrix: 'matrices',\n means: 'means',\n medium: 'media',\n memorandum: 'memoranda',\n millennium: 'milennia',\n moose: 'moose',\n mosquito: 'mosquitoes',\n motto: 'mottoes',\n mouse: 'mice',\n nebula: 'nebulae',\n neurosis: 'neuroses',\n nucleus: 'nuclei',\n oasis: 'oases',\n octopus: 'octopodes',\n ovum: 'ova',\n ox: 'oxen',\n paralysis: 'paralyses',\n parenthesis: 'parentheses',\n person: 'people',\n phenomenon: 'phenomena',\n plateau: 'plateaux',\n potato: 'potatoes',\n quiz: 'quizzes',\n radius: 'radii',\n reflex: 'reflexes',\n 'runner-up': 'runners-up',\n scampo: 'scampi',\n scarf: 'scarves',\n scissors: 'scissors',\n scratch: 'scratches',\n self: 'selves',\n series: 'series',\n sheaf: 'sheaves',\n sheep: 'sheep',\n shelf: 'shelves',\n 'son-in-law': 'sons-in-law',\n species: 'species',\n splash: 'splashes',\n stimulus: 'stimuli',\n stitch: 'stitches',\n stratum: 'strata',\n syllabus: 'syllabi',\n symposium: 'symposia',\n synopsis: 'synopses',\n synthesis: 'syntheses',\n tableau: 'tableaux',\n tax: 'taxes',\n that: 'those',\n thesis: 'theses',\n thief: 'thieves',\n this: 'these',\n tomato: 'tomatoes',\n tooth: 'teeth',\n tornado: 'tornadoes',\n torpedo: 'torpedoes',\n vertebra: 'vertebrae',\n veto: 'vetoes',\n vita: 'vitae',\n volcano: 'volcanoes',\n waltz: 'waltzes',\n wash: 'washes',\n watch: 'watches',\n wharf: 'wharves',\n wife: 'wives',\n wolf: 'wolves',\n woman: 'women',\n zero: 'zeroes',\n };\n\n transform(singularEntity: string, quantity: number = 0): string {\n if (!singularEntity || singularEntity === '') {\n return '';\n }\n\n if (quantity === 1) {\n return singularEntity;\n } else {\n const lastWord = singularEntity.trim().split(' ')[singularEntity.trim().split(' ').length - 1];\n if (this.irregularMap[lastWord.toLocaleLowerCase()]) {\n if (lastWord[0] === lastWord[0].toLocaleUpperCase()) {\n return singularEntity.replace(\n lastWord,\n this.irregularMap[lastWord.toLocaleLowerCase()].replace(\n this.irregularMap[lastWord.toLocaleLowerCase()][0],\n this.irregularMap[lastWord.toLocaleLowerCase()][0].toLocaleUpperCase()\n )\n );\n }\n\n return singularEntity.replace(lastWord, this.irregularMap[lastWord.toLocaleLowerCase()]);\n } else if (lastWord[lastWord.length - 1] === 'y') {\n // Naive approach:\n // consonant+y = word - 'y' +'ies'\n // vowel+y = word + 's'\n\n return isVowel(lastWord[lastWord.length - 2])\n ? singularEntity + 's'\n : singularEntity.replace(lastWord, lastWord.slice(0, -1) + 'ies');\n } else if (lastWord[lastWord.length - 1] === 's') {\n return singularEntity + 'es';\n } else {\n return singularEntity + 's';\n }\n }\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'wrap' })\nexport class WrapPipe implements PipeTransform {\n transform(str: string, prefix: string = '', suffix: string = ''): string {\n if (!isString(str)) {\n return str;\n }\n\n return (!!prefix && isString(prefix) ? prefix : '') + str + (!!suffix && isString(suffix) ? suffix : '');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AorAnPipe } from './a-or-an';\nimport { UcWordsPipe } from './ucwords';\nimport { LeftTrimPipe } from './ltrim';\nimport { RepeatPipe } from './repeat';\nimport { RightTrimPipe } from './rtrim';\nimport { ScanPipe } from './scan';\nimport { ShortenPipe } from './shorten';\nimport { StripTagsPipe } from './strip-tags';\nimport { TrimPipe } from './trim';\nimport { UcFirstPipe } from './ucfirst';\nimport { SlugifyPipe } from './slugify';\nimport { CamelizePipe } from './camelize';\nimport { LatinisePipe } from './latinise';\nimport { LinesPipe } from './lines';\nimport { UnderscorePipe } from './underscore';\nimport { MatchPipe } from './match';\nimport { TestPipe } from './test';\nimport { LeftPadPipe } from './lpad';\nimport { RightPadPipe } from './rpad';\nimport { MakePluralStringPipe } from './pluralize';\nimport { WrapPipe } from './wrap';\n\nexport const STRING_PIPES = [\n AorAnPipe,\n LeftTrimPipe,\n RepeatPipe,\n RightTrimPipe,\n ScanPipe,\n ShortenPipe,\n StripTagsPipe,\n TrimPipe,\n UcFirstPipe,\n UcWordsPipe,\n SlugifyPipe,\n CamelizePipe,\n LatinisePipe,\n LinesPipe,\n UnderscorePipe,\n MatchPipe,\n TestPipe,\n LeftPadPipe,\n RightPadPipe,\n MakePluralStringPipe,\n WrapPipe,\n];\n\n@NgModule({\n declarations: STRING_PIPES,\n imports: [],\n exports: STRING_PIPES,\n})\nexport class NgStringPipesModule {}\n\nexport { AorAnPipe } from './a-or-an';\nexport { UcWordsPipe } from './ucwords';\nexport { LeftTrimPipe } from './ltrim';\nexport { RepeatPipe } from './repeat';\nexport { RightTrimPipe } from './rtrim';\nexport { ScanPipe } from './scan';\nexport { ShortenPipe } from './shorten';\nexport { StripTagsPipe } from './strip-tags';\nexport { TrimPipe } from './trim';\nexport { UcFirstPipe } from './ucfirst';\nexport { SlugifyPipe } from './slugify';\nexport { CamelizePipe } from './camelize';\nexport { LatinisePipe } from './latinise';\nexport { LinesPipe } from './lines';\nexport { UnderscorePipe } from './underscore';\nexport { MatchPipe } from './match';\nexport { TestPipe } from './test';\nexport { LeftPadPipe } from './lpad';\nexport { RightPadPipe } from './rpad';\nexport { MakePluralStringPipe } from './pluralize';\nexport { WrapPipe } from './wrap';\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'max' })\nexport class MaxPipe implements PipeTransform {\n transform(arr: any): number | number[] {\n return Array.isArray(arr) ? Math.max(...arr) : arr;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'min' })\nexport class MinPipe implements PipeTransform {\n transform(arr: any): number | number[] {\n return Array.isArray(arr) ? Math.min(...arr) : arr;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'percentage' })\nexport class PercentagePipe implements PipeTransform {\n transform(num: number, total?: number, floor?: boolean): number;\n transform<T>(num: T, total?: number, floor?: boolean): T;\n\n transform(num: any, total: number = 100, floor: boolean = false): any {\n if (isNaN(num)) {\n return num;\n }\n\n const percent = (num * 100) / total;\n\n return floor ? Math.floor(percent) : percent;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'sum' })\nexport class SumPipe implements PipeTransform {\n transform(num: any[]): number;\n transform<T>(num: any): T;\n\n transform(arr: any): any {\n return Array.isArray(arr) ? arr.reduce((sum, curr) => sum + curr, 0) : arr;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'floor' })\nexport class FloorPipe implements PipeTransform {\n transform(num: number, precision: number = 0): number {\n if (precision <= 0) {\n return Math.floor(num);\n }\n\n const tho = 10 ** precision;\n\n return Math.floor(num * tho) / tho;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { applyPrecision } from '../helpers/helpers';\n\n@Pipe({ name: 'round' })\nexport class RoundPipe implements PipeTransform {\n transform(num: number, precision: number = 0): number {\n return applyPrecision(num, precision);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'sqrt' })\nexport class SqrtPipe implements PipeTransform {\n transform(num: number): number;\n transform<T>(num: T): T;\n\n transform(num: any): any {\n return !isNaN(num) ? Math.sqrt(num) : num;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'pow' })\nexport class PowerPipe implements PipeTransform {\n transform(num: number, power?: number): number;\n transform(num: any, power?: number): any;\n\n transform(num: any, power: number = 2): number {\n return !isNaN(num) ? num ** power : num;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'ceil' })\nexport class CeilPipe implements PipeTransform {\n transform(num: number, precision: number = 0): number {\n if (precision <= 0) {\n return Math.ceil(num);\n }\n\n const tho = 10 ** precision;\n\n return Math.ceil(num * tho) / tho;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isNumberFinite } from '../helpers/helpers';\n\n@Pipe({ name: 'degrees' })\nexport class DegreesPipe implements PipeTransform {\n transform(radians: number): number {\n if (!isNumberFinite(radians)) {\n return NaN;\n }\n\n return (radians * 180) / Math.PI;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { applyPrecision, isNumberFinite, isUndefined } from '../helpers/helpers';\n\n@Pipe({ name: 'bytes' })\nexport class BytesPipe implements PipeTransform {\n private dictionary: Array<{ max: number; type: string }> = [\n { max: 1024, type: 'B' },\n { max: 1048576, type: 'KB' },\n { max: 1073741824, type: 'MB' },\n { max: 1.0995116e12, type: 'GB' },\n ];\n\n transform(value: number, precision?: number | undefined): string | number {\n if (!isNumberFinite(value)) {\n return NaN;\n }\n\n const format = this.dictionary.find(d => value < d.max) || this.dictionary[this.dictionary.length - 1];\n const calc = value / (format.max / 1024);\n const num = isUndefined(precision) ? calc : applyPrecision(calc, precision);\n\n return `${num} ${format.type}`;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isNumberFinite } from '../helpers/helpers';\n\n@Pipe({ name: 'radians' })\nexport class RadiansPipe implements PipeTransform {\n transform(degrees: number): number {\n if (!isNumberFinite(degrees)) {\n return NaN;\n }\n\n return (degrees * Math.PI) / 180;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { MaxPipe } from './max';\nimport { MinPipe } from './min';\nimport { PercentagePipe } from './percentage';\nimport { SumPipe } from './sum';\nimport { FloorPipe } from './floor';\nimport { RoundPipe } from './round';\nimport { SqrtPipe } from './sqrt';\nimport { PowerPipe } from './pow';\nimport { CeilPipe } from './ceil';\nimport { DegreesPipe } from './degrees';\nimport { BytesPipe } from './bytes';\nimport { RadiansPipe } from './radians';\n\nexport const MATH_PIPES = [\n MaxPipe,\n MinPipe,\n PercentagePipe,\n SumPipe,\n FloorPipe,\n RoundPipe,\n SqrtPipe,\n PowerPipe,\n CeilPipe,\n DegreesPipe,\n BytesPipe,\n RadiansPipe,\n];\n\n@NgModule({\n declarations: MATH_PIPES,\n imports: [],\n exports: MATH_PIPES,\n})\nexport class NgMathPipesModule {}\n\nexport { MaxPipe } from './max';\nexport { MinPipe } from './min';\nexport { PercentagePipe } from './percentage';\nexport { SumPipe } from './sum';\nexport { FloorPipe } from './floor';\nexport { RoundPipe } from './round';\nexport { SqrtPipe } from './sqrt';\nexport { PowerPipe } from './pow';\nexport { CeilPipe } from './ceil';\nexport { DegreesPipe } from './degrees';\nexport { BytesPipe } from './bytes';\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isUndefined } from '../helpers/helpers';\n\n@Pipe({ name: 'isDefined' })\nexport class IsDefinedPipe implements PipeTransform {\n transform(input: any): boolean {\n return !isUndefined(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isNull' })\nexport class IsNullPipe implements PipeTransform {\n transform(input: any): boolean {\n return input === null;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isUndefined } from '../helpers/helpers';\n\n@Pipe({ name: 'isUndefined' })\nexport class IsUndefinedPipe implements PipeTransform {\n transform(input: any): boolean {\n return isUndefined(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isString } from '../helpers/helpers';\n\n@Pipe({ name: 'isString' })\nexport class IsStringPipe implements PipeTransform {\n transform(input: any): boolean {\n return isString(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isFunction } from '../helpers/helpers';\n\n@Pipe({ name: 'isFunction' })\nexport class IsFunctionPipe implements PipeTransform {\n transform(input: any): boolean {\n return isFunction(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isNumber } from '../helpers/helpers';\n\n@Pipe({ name: 'isNumber' })\nexport class IsNumberPipe implements PipeTransform {\n transform(input: any): boolean {\n return isNumber(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isArray' })\nexport class IsArrayPipe implements PipeTransform {\n transform(input: any): boolean {\n return Array.isArray(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { isObject } from '../helpers/helpers';\n\n@Pipe({ name: 'isObject' })\nexport class IsObjectPipe implements PipeTransform {\n transform(input: any): boolean {\n return isObject(input);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isGreaterEqualThan' })\nexport class IsGreaterEqualThanPipe implements PipeTransform {\n transform(input: number, other: number): boolean {\n return input >= other;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isGreaterThan' })\nexport class IsGreaterThanPipe implements PipeTransform {\n transform(input: number, other: number): boolean {\n return input > other;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isLessEqualThan' })\nexport class IsLessEqualThanPipe implements PipeTransform {\n transform(input: number, other: number): boolean {\n return input <= other;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isEqualTo' })\nexport class IsEqualToPipe implements PipeTransform {\n transform(input: any, other: any): boolean {\n // tslint:disable-next-line:triple-equals\n return input == other;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isNotEqualTo' })\nexport class IsNotEqualToPipe implements PipeTransform {\n transform(input: any, other: any): boolean {\n // tslint:disable-next-line:triple-equals\n return input != other;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isIdenticalTo' })\nexport class IsIdenticalToPipe implements PipeTransform {\n transform(input: any, other: any): boolean {\n return input === other;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isNotIdenticalTo' })\nexport class IsNotIdenticalToPipe implements PipeTransform {\n transform(input: any, other: any): boolean {\n return input !== other;\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'isLessThan' })\nexport class IsLessThanPipe implements PipeTransform {\n transform(input: number, other: number): boolean {\n return input < other;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { IsDefinedPipe } from './is-defined';\nimport { IsNullPipe } from './is-null';\nimport { IsUndefinedPipe } from './is-undefined';\nimport { IsStringPipe } from './is-string';\nimport { IsFunctionPipe } from './is-function';\nimport { IsNumberPipe } from './is-number';\nimport { IsArrayPipe } from './is-array';\nimport { IsObjectPipe } from './is-object';\nimport { IsGreaterEqualThanPipe } from './is-greater-equal-than';\nimport { IsGreaterThanPipe } from './is-greater-than';\nimport { IsLessEqualThanPipe } from './is-less-equal-than';\nimport { IsEqualToPipe } from './is-equal-to';\nimport { IsNotEqualToPipe } from './is-not-equal-to';\nimport { IsIdenticalToPipe } from './is-identical-to';\nimport { IsNotIdenticalToPipe } from './is-not-identical-to';\nimport { IsLessThanPipe } from './is-less-than';\n\nexport const BOOLEAN_PIPES = [\n IsDefinedPipe,\n IsNullPipe,\n IsUndefinedPipe,\n IsStringPipe,\n IsFunctionPipe,\n IsNumberPipe,\n IsArrayPipe,\n IsObjectPipe,\n IsGreaterEqualThanPipe,\n IsGreaterThanPipe,\n IsLessEqualThanPipe,\n IsLessEqualThanPipe,\n IsEqualToPipe,\n IsNotEqualToPipe,\n IsIdenticalToPipe,\n IsNotIdenticalToPipe,\n IsLessThanPipe,\n];\n\n@NgModule({\n declarations: BOOLEAN_PIPES,\n imports: [],\n exports: BOOLEAN_PIPES,\n})\nexport class NgBooleanPipesModule {}\n\nexport { IsDefinedPipe } from './is-defined';\nexport { IsNullPipe } from './is-null';\nexport { IsUndefinedPipe } from './is-undefined';\nexport { IsStringPipe } from './is-string';\nexport { IsFunctionPipe } from './is-function';\nexport { IsNumberPipe } from './is-number';\nexport { IsArrayPipe } from './is-array';\nexport { IsObjectPipe } from './is-object';\nexport { IsGreaterEqualThanPipe } from './is-greater-equal-than';\nexport { IsGreaterThanPipe } from './is-greater-than';\nexport { IsLessEqualThanPipe } from './is-less-equal-than';\nexport { IsEqualToPipe } from './is-equal-to';\nexport { IsNotEqualToPipe } from './is-not-equal-to';\nexport { IsIdenticalToPipe } from './is-identical-to';\nexport { IsNotIdenticalToPipe } from './is-not-identical-to';\nexport { IsLessThanPipe } from './is-less-than';\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({ name: 'timeAgo' })\nexport class TimeAgoPipe implements PipeTransform {\n private static YEAR_MS: number = 1000 * 60 * 60 * 24 * 7 * 4 * 12;\n private static MAPPER: any = [\n { single: 'last year', many: 'years', div: 1 },\n { single: 'last month', many: 'months', div: 12 },\n { single: 'last week', many: 'weeks', div: 4 },\n { single: 'yesterday', many: 'days', div: 7 },\n { single: 'an hour ago', many: 'hours', div: 24 },\n { single: 'just now', many: 'minutes', div: 60 },\n ];\n\n /**\n * @param inputDate: Date | Moment - not included as TypeScript interface,\n * in order to keep `ngx-pipes` \"pure\" from dependencies!\n */\n public transform(inputDate: any): string {\n if (!inputDate || (!inputDate.getTime && !inputDate.toDate)) {\n return 'Invalid date';\n }\n\n const past = inputDate.toDate ? inputDate.toDate() : inputDate.getTime();\n const now = +new Date();\n\n if (past > now) {\n return 'in the future';\n }\n\n for (let i = 0, l = TimeAgoPipe.MAPPER.length, ms = now - past, div = TimeAgoPipe.YEAR_MS; i < l; ++i) {\n const elm = TimeAgoPipe.MAPPER[i];\n const unit = Math.floor(ms / (div /= elm.div));\n\n if (unit >= 1) {\n return unit === 1 ? elm.single : `${unit} ${elm.many} ago`;\n }\n }\n\n return 'just now';\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TimeAgoPipe } from './time-ago';\n\nexport const DATE_PIPES = [TimeAgoPipe];\n\n@NgModule({\n declarations: DATE_PIPES,\n imports: [],\n exports: DATE_PIPES,\n})\nexport class NgDatePipesModule {}\n\nexport { TimeAgoPipe } from './time-ago';\n","import { NgModule } from '@angular/core';\nimport { NgArrayPipesModule } from './array/index';\nimport { NgObjectPipesModule } from './object/index';\nimport { NgStringPipesModule } from './string/index';\nimport { NgMathPipesModule } from './math/index';\nimport { NgBooleanPipesModule } from './boolean/index';\nimport { NgDatePipesModule } from './date/index';\n\n@NgModule({\n exports: [\n NgArrayPipesModule,\n NgStringPipesModule,\n NgMathPipesModule,\n NgBooleanPipesModule,\n NgObjectPipesModule,\n NgDatePipesModule,\n ],\n})\nexport class NgPipesModule {}\n\nexport * from './array/index';\nexport * from './object/index';\nexport * from './string/index';\nexport * from './math/index';\nexport * from './boolean/index';\nexport * from './date/index';\n"]}
\No newline at end of file