{"version":3,"file":"novo-elements-pipes.mjs","sources":["../../../projects/novo-elements/src/pipes/decode-uri/DecodeURI.ts","../../../projects/novo-elements/src/pipes/default/Default.ts","../../../projects/novo-elements/src/pipes/group-by/GroupBy.ts","../../../projects/novo-elements/src/pipes/highlight/Highlight.ts","../../../projects/novo-elements/src/pipes/iso8601/iso-date-range.pipe.ts","../../../projects/novo-elements/src/pipes/iso8601/iso-date.pipe.ts","../../../projects/novo-elements/src/pipes/iso8601/iso-time-range.pipe.ts","../../../projects/novo-elements/src/pipes/iso8601/iso-time.pipe.ts","../../../projects/novo-elements/src/pipes/plural/Plural.ts","../../../projects/novo-elements/src/pipes/Pipes.module.ts","../../../projects/novo-elements/src/pipes/novo-elements-pipes.ts"],"sourcesContent":["// NG2\nimport { Injectable, Pipe, PipeTransform } from '@angular/core';\n// App\nimport { Helpers } from 'novo-elements/utils';\n\n@Pipe({\n    name: 'decodeURI',\n    standalone: false,\n})\n@Injectable()\nexport class DecodeURIPipe implements PipeTransform {\n  transform(encodedString: string): string {\n    let decodedString: string = '';\n    if (!Helpers.isBlank(encodedString) && typeof encodedString === 'string') {\n      decodedString = decodeURIComponent(encodedString);\n    }\n    return decodedString;\n  }\n}\n","// NG2\nimport { Injectable, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n    name: 'default', pure: true,\n    standalone: false,\n})\n@Injectable()\nexport class DefaultPipe implements PipeTransform {\n  transform(value: any, defaultValue: any): any {\n    return value || defaultValue;\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { can, Helpers } from 'novo-elements/utils';\n\n@Pipe({\n    name: 'groupBy',\n    standalone: false,\n})\nexport class GroupByPipe implements PipeTransform {\n  transform(input: any, prop: string): Array<any> {\n    if (!Array.isArray(input)) {\n      return input;\n    }\n\n    const arr: { [key: string]: Array<any> } = {};\n\n    for (const value of input) {\n      const field: any = can(value).have(prop);\n      if (Helpers.isBlank(arr[field])) {\n        arr[field] = [];\n      }\n\n      arr[field].push(value);\n    }\n\n    return Object.keys(arr).map((key) => ({ key, value: arr[key] }));\n  }\n}\n","// NG2\nimport { Injectable, Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n    name: 'highlight', pure: true,\n    standalone: false,\n})\n@Injectable()\nexport class HighlightPipe implements PipeTransform {\n  transform(value: any, term: any): any {\n    return term ? value.replace(new RegExp(this.escapeRegexp(term.trim()), 'gi'), '<strong>$&</strong>') : value;\n  }\n\n  escapeRegexp(queryToEscape) {\n    // Ex: if the capture is \"a\" the result will be \\a\n    return queryToEscape.replace(/([.?*+^$[\\]\\\\(){}|-])/g, '\\\\$1');\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\ntype IsoDateRangeArgs = (string | Date)[];\n\n@Pipe({\n    name: 'isoDateRange',\n    standalone: false,\n})\nexport class IsoDateRangePipe implements PipeTransform {\n  constructor() {}\n  transform(dates: IsoDateRangeArgs): string {\n    // TODO: Lookup Locale to convert to Users DateFormat\n    const [start, end] = dates.map((date) => {\n      if (date instanceof Date) {\n        return date.toISOString().slice(0, 10);\n      }\n      return (date as string).slice(0, 10);\n    });\n\n    return `${start} - ${end}`;\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n    name: 'isoDate',\n    standalone: false,\n})\nexport class IsoDatePipe implements PipeTransform {\n  constructor() {}\n  transform(date: string | Date): string {\n    if (date instanceof Date) {\n      return date.toISOString().slice(0, 10);\n    }\n    return (date as string).slice(0, 10);\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\ntype IsoTimeRangeArgs = (string | Date)[];\n\n@Pipe({\n    name: 'isoTimeRange',\n    standalone: false,\n})\nexport class IsoTimeRangePipe implements PipeTransform {\n  constructor() {}\n  transform(dates: IsoTimeRangeArgs): string {\n    // TODO: Lookup Locale to convert to 12hour\n    const [start, end] = dates.map((date) => {\n      if (date instanceof Date) {\n        return date.toISOString().slice(11, 16);\n      }\n      return (date as string).slice(11, 16);\n    });\n\n    return `${start} - ${end}`;\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n    name: 'isoTime',\n    standalone: false,\n})\nexport class IsoTimePipe implements PipeTransform {\n  constructor() {}\n  transform(date: string | Date): string {\n    // TODO: Lookup Locale to convert to 12hour\n    if (date instanceof Date) {\n      return date.toISOString().slice(11, 16);\n    }\n    return (date as string).slice(11, 16);\n  }\n}\n","// NG2\nimport { Injectable, Pipe, PipeTransform } from '@angular/core';\n\n// Rule storage - pluralize and singularize need to be run sequentially,\n// while other rules can be optimized using an object for instant lookups.\nconst pluralRules = [];\nconst singularRules = [];\nconst uncountables = {};\nconst irregularPlurals = {};\nconst irregularSingles = {};\n\n/**\n * Title case a string.\n */\nfunction toTitleCase(str: string): string {\n  return str.charAt(0).toUpperCase() + str.substr(1).toLowerCase();\n}\n\n/**\n * Sanitize a pluralization rule to a usable regular expression.\n */\nfunction sanitizeRule(rule: RegExp | string): RegExp {\n  if (typeof rule === 'string') {\n    return new RegExp('^' + rule + '$', 'i');\n  }\n  return rule;\n}\n\n/**\n * Pass in a word token to produce a function that can replicate the case on\n * another word.\n */\nfunction restoreCase(word: string, token: string): string {\n  // Upper cased words. E.g. \"HELLO\".\n  if (word === word.toUpperCase()) {\n    return token.toUpperCase();\n  }\n\n  // Title cased words. E.g. \"Title\".\n  if (word[0] === word[0].toUpperCase()) {\n    return toTitleCase(token);\n  }\n\n  // Lower cased words. E.g. \"test\".\n  return token.toLowerCase();\n}\n\n/**\n * Interpolate a regexp string.\n */\nfunction interpolate(str: string, args: any[]): string {\n  return str.replace(/\\$(\\d{1,2})/g, (match, index) => {\n    return args[index] || '';\n  });\n}\n\n/**\n * Sanitize a word by passing in the word and sanitization rules.\n */\nfunction sanitizeWord(token: string, word: string, collection: RegExp[]): string {\n  // Empty string or doesn't need fixing.\n  if (!token.length || uncountables.hasOwnProperty(token)) {\n    return word;\n  }\n\n  let len = collection.length;\n  // Iterate over the sanitization rules and use the first one to match.\n  while (len--) {\n    const rule = collection[len];\n    // If the rule passes, return the replacement.\n    if (rule[0].test(word)) {\n      return word.replace(rule[0], (match, index, words) => {\n        const result = interpolate(rule[1], [match, index, words]);\n        if (match === '') {\n          return restoreCase(words[index - 1], result);\n        }\n        return restoreCase(match, result);\n      });\n    }\n  }\n  return word;\n}\n\n/**\n * Replace a word with the updated word.\n */\nfunction replaceWord(replaceMap: any, keepMap: any, rules: any[]): Function {\n  return (word) => {\n    // Get the correct token and case restoration functions.\n    const token = word.toLowerCase();\n\n    // Check against the keep object map.\n    if (keepMap.hasOwnProperty(token)) {\n      return restoreCase(word, token);\n    }\n\n    // Check against the replacement map for a direct word replacement.\n    if (replaceMap.hasOwnProperty(token)) {\n      return restoreCase(word, replaceMap[token]);\n    }\n\n    // Run all the rules against the word.\n    return sanitizeWord(token, word, rules);\n  };\n}\n\nclass Pluralize {\n  static pluralize(word, count = 1, inclusive?) {\n    const pluralized = count === 1 ? Pluralize.singular(word) : Pluralize.plural(word);\n    return (inclusive ? `${count} ` : '') + pluralized;\n  }\n\n  static singular(word) {\n    return replaceWord(irregularSingles, irregularPlurals, pluralRules)(word);\n  }\n\n  static plural(word) {\n    return replaceWord(irregularPlurals, irregularSingles, singularRules)(word);\n  }\n\n  static addPluralRule(rule, replacement) {\n    pluralRules.push([sanitizeRule(rule), replacement]);\n  }\n\n  static addSingularRule(rule, replacement) {\n    singularRules.push([sanitizeRule(rule), replacement]);\n  }\n\n  static addUncountableRule(word) {\n    if (typeof word === 'string') {\n      uncountables[word.toLowerCase()] = true;\n      return;\n    }\n\n    // Set singular and plural references for the word.\n    Pluralize.addPluralRule(word, '$0');\n    Pluralize.addSingularRule(word, '$0');\n  }\n\n  static addIrregularRule(single, plural) {\n    const one = plural.toLowerCase();\n    const many = single.toLowerCase();\n\n    irregularSingles[one] = many;\n    irregularPlurals[many] = one;\n  }\n}\n\n/**\n * Irregular rules.\n */\n[\n  // Pronouns.\n  ['I', 'we'],\n  ['me', 'us'],\n  ['he', 'they'],\n  ['she', 'they'],\n  ['them', 'them'],\n  ['myself', 'ourselves'],\n  ['yourself', 'yourselves'],\n  ['itself', 'themselves'],\n  ['herself', 'themselves'],\n  ['himself', 'themselves'],\n  ['themself', 'themselves'],\n  ['is', 'are'],\n  ['this', 'these'],\n  ['that', 'those'],\n  // Words ending in with a consonant and `o`.\n  ['echo', 'echoes'],\n  ['dingo', 'dingoes'],\n  ['volcano', 'volcanoes'],\n  ['tornado', 'tornadoes'],\n  ['torpedo', 'torpedoes'],\n  // Ends with `us`.\n  ['genus', 'genera'],\n  ['viscus', 'viscera'],\n  // Ends with `ma`.\n  ['stigma', 'stigmata'],\n  ['stoma', 'stomata'],\n  ['dogma', 'dogmata'],\n  ['lemma', 'lemmata'],\n  ['schema', 'schemata'],\n  ['anathema', 'anathemata'],\n  // Other irregular rules.\n  ['ox', 'oxen'],\n  ['axe', 'axes'],\n  ['die', 'dice'],\n  ['yes', 'yeses'],\n  ['foot', 'feet'],\n  ['eave', 'eaves'],\n  ['goose', 'geese'],\n  ['tooth', 'teeth'],\n  ['quiz', 'quizzes'],\n  ['human', 'humans'],\n  ['proof', 'proofs'],\n  ['carve', 'carves'],\n  ['valve', 'valves'],\n  ['thief', 'thieves'],\n  ['genie', 'genies'],\n  ['groove', 'grooves'],\n  ['pickaxe', 'pickaxes'],\n  ['whiskey', 'whiskies'],\n].forEach((rule) => {\n  return Pluralize.addIrregularRule(rule[0], rule[1]);\n});\n\n/**\n * Pluralization rules.\n */\n[\n  [/s?$/i, 's'],\n  [/([^aeiou]ese)$/i, '$1'],\n  [/(ax|test)is$/i, '$1es'],\n  [/(alias|[^aou]us|tlas|gas|ris)$/i, '$1es'],\n  [/(e[mn]u)s?$/i, '$1s'],\n  [/([^l]ias|[aeiou]las|[emjzr]as|[iu]am)$/i, '$1'],\n  [/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],\n  [/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],\n  [/(seraph|cherub)(?:im)?$/i, '$1im'],\n  [/(her|at|gr)o$/i, '$1oes'],\n  [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],\n  [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],\n  [/sis$/i, 'ses'],\n  [/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],\n  [/([^aeiouy]|qu)y$/i, '$1ies'],\n  [/([^ch][ieo][ln])ey$/i, '$1ies'],\n  [/(x|ch|ss|sh|zz)$/i, '$1es'],\n  [/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],\n  [/(m|l)(?:ice|ouse)$/i, '$1ice'],\n  [/(pe)(?:rson|ople)$/i, '$1ople'],\n  [/(child)(?:ren)?$/i, '$1ren'],\n  [/eaux$/i, '$0'],\n  [/m[ae]n$/i, 'men'],\n  ['thou', 'you'],\n].forEach((rule) => {\n  return Pluralize.addPluralRule(rule[0], rule[1]);\n});\n\n/**\n * Singularization rules.\n */\n[\n  [/s$/i, ''],\n  [/(ss)$/i, '$1'],\n  [/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(?:sis|ses)$/i, '$1sis'],\n  [/(^analy)(?:sis|ses)$/i, '$1sis'],\n  [/(wi|kni|(?:after|half|high|low|mid|non|night|[^\\w]|^)li)ves$/i, '$1fe'],\n  [/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],\n  [/([^aeiouy]|qu)ies$/i, '$1y'],\n  [/(^[pl]|zomb|^(?:neck)?t|[aeo][lt]|cut)ies$/i, '$1ie'],\n  [/(\\b(?:mon|smil))ies$/i, '$1ey'],\n  [/(m|l)ice$/i, '$1ouse'],\n  [/(seraph|cherub)im$/i, '$1'],\n  [/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|tlas|gas|(?:her|at|gr)o|ris)(?:es)?$/i, '$1'],\n  [/(e[mn]u)s?$/i, '$1'],\n  [/(movie|twelve)s$/i, '$1'],\n  [/(cris|test|diagnos)(?:is|es)$/i, '$1is'],\n  [/(alumn|syllab|octop|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],\n  [/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],\n  [/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],\n  [/(alumn|alg|vertebr)ae$/i, '$1a'],\n  [/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],\n  [/(matr|append)ices$/i, '$1ix'],\n  [/(pe)(rson|ople)$/i, '$1rson'],\n  [/(child)ren$/i, '$1'],\n  [/(eau)x?$/i, '$1'],\n  [/men$/i, 'man'],\n].forEach((rule) => {\n  return Pluralize.addSingularRule(rule[0], rule[1]);\n});\n\n/**\n * Uncountable rules.\n */\n[\n  // Singular words with no plurals.\n  'advice',\n  'adulthood',\n  'agenda',\n  'aid',\n  'alcohol',\n  'ammo',\n  'athletics',\n  'bison',\n  'blood',\n  'bream',\n  'buffalo',\n  'butter',\n  'carp',\n  'cash',\n  'chassis',\n  'chess',\n  'clothing',\n  'commerce',\n  'cod',\n  'cooperation',\n  'corps',\n  'digestion',\n  'debris',\n  'diabetes',\n  'energy',\n  'equipment',\n  'elk',\n  'excretion',\n  'expertise',\n  'flounder',\n  'fun',\n  'gallows',\n  'garbage',\n  'graffiti',\n  'headquarters',\n  'health',\n  'herpes',\n  'highjinks',\n  'homework',\n  'housework',\n  'information',\n  'jeans',\n  'justice',\n  'kudos',\n  'labour',\n  'literature',\n  'machinery',\n  'mackerel',\n  'media',\n  'mews',\n  'moose',\n  'music',\n  'news',\n  'pike',\n  'plankton',\n  'pliers',\n  'pollution',\n  'premises',\n  'rain',\n  'research',\n  'rice',\n  'salmon',\n  'scissors',\n  'series',\n  'sewage',\n  'shambles',\n  'shrimp',\n  'species',\n  'staff',\n  'swine',\n  'trout',\n  'traffic',\n  'transporation',\n  'tuna',\n  'wealth',\n  'welfare',\n  'whiting',\n  'wildebeest',\n  'wildlife',\n  'you',\n  // Regexes.\n  /pox$/i, // \"chickpox\", \"smallpox\"\n  /ois$/i,\n  /deer$/i, // \"deer\", \"reindeer\"\n  /fish$/i, // \"fish\", \"blowfish\", \"angelfish\"\n  /sheep$/i,\n  /measles$/i,\n  /[^aeiou]ese$/i, // \"chinese\", \"japanese\"\n].forEach(Pluralize.addUncountableRule);\n\n@Pipe({\n    name: 'plural',\n    standalone: false,\n})\n@Injectable()\nexport class PluralPipe implements PipeTransform {\n  transform(value) {\n    return Pluralize.pluralize(value);\n  }\n}\n","// NG2\nimport { NgModule } from '@angular/core';\nimport { DecodeURIPipe } from './decode-uri/DecodeURI';\nimport { DefaultPipe } from './default/Default';\nimport { GroupByPipe } from './group-by/GroupBy';\nimport { HighlightPipe } from './highlight/Highlight';\nimport { IsoDatePipe, IsoDateRangePipe, IsoTimePipe, IsoTimeRangePipe } from './iso8601';\nimport { PluralPipe } from './plural/Plural';\n\n@NgModule({\n  declarations: [PluralPipe, DecodeURIPipe, GroupByPipe, HighlightPipe, DefaultPipe, IsoTimePipe, IsoDatePipe, IsoTimeRangePipe, IsoDateRangePipe],\n  exports: [PluralPipe, DecodeURIPipe, GroupByPipe, HighlightPipe, DefaultPipe, IsoTimePipe, IsoDatePipe, IsoTimeRangePipe, IsoDateRangePipe],\n})\nexport class NovoPipesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}