{"version":3,"file":"ngx-transformer.mjs","sources":["../../../src/app/case/pascal-case/pascal-case.pipe.ts","../../../src/app/case/camel-case/camel-case.pipe.ts","../../../src/app/case/snake-case/snake-case.pipe.ts","../../../src/app/case/kebab-case/kebab-case.pipe.ts","../../../src/app/case/flat-case/flat-case.pipe.ts","../../../src/app/case/scream-case/scream-case.pipe.ts","../../../src/app/numbro/numbro-format/numbro-format.pipe.ts","../../../src/app/numbro/numbro-format-number/numbro-format-number.pipe.ts","../../../src/app/numbro/numbro-average/numbro-average.pipe.ts","../../../src/app/transformer.component.ts","../../../src/app/transformer.component.html","../../../src/app/transformer-options.ts","../../../src/app/transformer.module.ts","../../../src/app/index.ts","../../../src/app/ngx-transformer.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'pascalCase' })\r\nexport class PascalCasePipe implements PipeTransform {\r\n  transform(value: string): string {\r\n    if (typeof value !== 'string') {\r\n      throw new Error('Value is not a string.');\r\n    }\r\n    return value.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, (match) => {\r\n      return +match !== 0 ? match.toUpperCase() : '';\r\n    });\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'camelCase' })\r\nexport class CamelCasePipe implements PipeTransform {\r\n  transform(value: string): string {\r\n    if (typeof value !== 'string') {\r\n      throw new Error('Value is not a string.');\r\n    }\r\n    return value.replace(/(?:^\\w|[A-Z]|\\b\\w|\\s+)/g, (match, index) => {\r\n      return +match === 0 ? '' : index === 0 ? match.toLowerCase() : match.toUpperCase();\r\n    });\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'snakeCase' })\r\nexport class SnakeCasePipe implements PipeTransform {\r\n  transform(value: string): string {\r\n    if (typeof value !== 'string') {\r\n      throw new Error('Value is not a string.');\r\n    }\r\n    const matches = value.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);\r\n    return matches && matches.length ? matches.map(char => char.toLowerCase()).join('_') : '';\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'kebabCase' })\r\nexport class KebabCasePipe implements PipeTransform {\r\n  transform(value: string): string {\r\n    if (typeof value !== 'string') {\r\n      throw new Error('Value is not a string.');\r\n    }\r\n    const matches = value.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);\r\n    return matches && matches.length ? matches.map(char => char.toLowerCase()).join('-') : '';\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'flatCase' })\r\nexport class FlatCasePipe implements PipeTransform {\r\n  transform(value: string): string {\r\n    if (typeof value !== 'string') {\r\n      throw new Error('Value is not a string.');\r\n    }\r\n    const matches = value.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);\r\n    return matches && matches.length ? matches.map(char => char.toLowerCase()).join('') : '';\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'screamCase' })\r\nexport class ScreamCasePipe implements PipeTransform {\r\n  transform(value: string): string {\r\n    if (typeof value !== 'string') {\r\n      throw new Error('Value is not a string.');\r\n    }\r\n    const matches = value.match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g);\r\n    return matches && matches.length ? matches.map(char => char.toUpperCase()).join('_') : '';\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport numbro from 'numbro';\r\nimport { Negative, Output } from '../models';\r\n\r\n@Pipe({\r\n  name: 'numbroFormat'\r\n})\r\nexport class NumbroFormatPipe implements PipeTransform {\r\n  /**\r\n   * Main numbro format pipe with all available configurations\r\n   * @param value would be converted to string\r\n   * @link https://numbrojs.com/format.html#numbers\r\n   */\r\n  transform(\r\n      value: number,\r\n      thousandSeparated: boolean = false,\r\n      mantissa: number = 0,\r\n      optionalMantissa: boolean = false,\r\n      trimMantissa: boolean = false,\r\n      forceSign: boolean = false,\r\n      negative: Negative = 'sign',\r\n      average: boolean = false,\r\n      spaceSeparated: boolean = false,\r\n      output: Output = 'number',\r\n    ): string {\r\n    if (typeof value !== 'number') {\r\n      throw new Error('Value is not a number.');\r\n    }\r\n    return numbro(value).format({\r\n      thousandSeparated: thousandSeparated,\r\n      mantissa: mantissa,\r\n      optionalMantissa: optionalMantissa,\r\n      trimMantissa: trimMantissa,\r\n      forceSign: forceSign,\r\n      negative: negative,\r\n      average: average,\r\n      spaceSeparated: spaceSeparated,\r\n      output: output,\r\n    });\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport numbro from 'numbro';\r\n\r\n@Pipe({\r\n  name: 'numbroFormatNumber'\r\n})\r\nexport class NumbroFormatNumberPipe implements PipeTransform {\r\n  /**\r\n   * Main numbro format pipe with all available configurations\r\n   * @param value would be converted to string\r\n   * @link https://numbrojs.com/format.html#numbers\r\n   */\r\n  transform(\r\n      value: number,\r\n      mantissa: number = 0,\r\n      thousandSeparated: boolean = false,\r\n    ): string {\r\n    if (typeof value !== 'number') {\r\n      throw new Error('Value is not a number.');\r\n    }\r\n    return numbro(value).format({\r\n      thousandSeparated: thousandSeparated,\r\n      mantissa: mantissa,\r\n    });\r\n  }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport numbro from 'numbro';\r\n\r\n@Pipe({\r\n  name: 'numbroAverage'\r\n})\r\nexport class NumbroAveragePipe implements PipeTransform {\r\n  /**\r\n   * numbro provides an easy mechanism to round up any number with the key average.\r\n   *                    Note that the abbreviation is language-specific.\r\n   * @param value would be converted to string\r\n   * @link https://numbrojs.com/format.html#average\r\n   */\r\n  transform(value: number, mantissa: number = 0, spaceSeparated: boolean = false): string {\r\n    if (typeof value !== 'number') {\r\n      throw new Error('Value is not a number.');\r\n    }\r\n    return numbro(value).format({\r\n      average: true,\r\n      mantissa: mantissa,\r\n      spaceSeparated: spaceSeparated,\r\n     });\r\n  }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n  selector: 'ngx-transformer',\r\n  templateUrl: './transformer.component.html',\r\n  styleUrls: ['./transformer.component.scss']\r\n})\r\nexport class TransformerComponent {\r\n}\r\n","<table class=\"ngx-playground-table\">\r\n  <tr>\r\n    <th>Input</th>\r\n    <th>Pipe</th>\r\n    <th>Output</th>\r\n  </tr>\r\n  <tr>\r\n    <td>Camel case</td>\r\n    <td>camelCase</td>\r\n    <td>{{ \"Camel case\" | camelCase }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>Snake case</td>\r\n    <td>snakeCase</td>\r\n    <td>{{ \"Snake case\" | snakeCase }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>Kebab case</td>\r\n    <td>kebabCase</td>\r\n    <td>{{ \"Kebab case\" | kebabCase }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>Flat case</td>\r\n    <td>flatCase</td>\r\n    <td>{{ \"Flat case\" | flatCase }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>Pascal case</td>\r\n    <td>pascalCase</td>\r\n    <td>{{ \"Pascal case\" | pascalCase }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>Scream case</td>\r\n    <td>screamCase</td>\r\n    <td>{{ \"Scream case\" | screamCase }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>{{ 10000 }}</td>\r\n    <td>numbroFormatNumber</td>\r\n    <td>{{ 10000 | numbroFormatNumber }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>{{ 10000 }}</td>\r\n    <td>numbroFormatNumber: 2 (mantissa)</td>\r\n    <td>{{ 10000 | numbroFormatNumber: 2 }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>{{ 10000 }}</td>\r\n    <td>numbroFormatNumber: 2 (mantissa): true (spaceSeparated)</td>\r\n    <td>{{ 10000 | numbroFormatNumber: 2: true }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>{{ 10000 }}</td>\r\n    <td>numbroAverage</td>\r\n    <td>{{ 10000 | numbroAverage }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>{{ 10000 }}</td>\r\n    <td>numbroAverage: 2 (mantissa)</td>\r\n    <td>{{ 10000 | numbroAverage: 2 }}</td>\r\n  </tr>\r\n  <tr>\r\n    <td>{{ 10000 }}</td>\r\n    <td>numbroAverage: 2 (mantissa): true (spaceSeparated)</td>\r\n    <td>{{ 10000 | numbroAverage: 2: true }}</td>\r\n  </tr>\r\n</table>\r\n","import { InjectionToken } from '@angular/core';\r\n\r\nexport const NGX_TRANSFORMER_OPTIONS: InjectionToken<NgxTransformerOptions> = new InjectionToken<\r\n  NgxTransformerOptions\r\n>('NGX_TRANSFORMER_OPTIONS');\r\n\r\nexport interface NgxTransformerOptions {\r\n  relativeTimeThresholdOptions: { [key: string]: number };\r\n}\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { TransformerComponent } from './transformer.component';\r\nimport { CamelCasePipe } from './case/camel-case/camel-case.pipe';\r\nimport { NgxTransformerOptions, NGX_TRANSFORMER_OPTIONS } from './transformer-options';\r\nimport { SnakeCasePipe } from './case/snake-case/snake-case.pipe';\r\nimport { KebabCasePipe } from './case/kebab-case/kebab-case.pipe';\r\nimport { FlatCasePipe } from './case/flat-case/flat-case.pipe';\r\nimport { ScreamCasePipe } from './case/scream-case/scream-case.pipe';\r\nimport {PascalCasePipe} from './case/pascal-case/pascal-case.pipe';\r\nimport { NumbroFormatPipe } from './numbro/numbro-format/numbro-format.pipe';\r\nimport { NumbroAveragePipe } from './numbro/numbro-average/numbro-average.pipe';\r\nimport { NumbroFormatNumberPipe } from './numbro/numbro-format-number/numbro-format-number.pipe';\r\n\r\nconst ANGULAR_TRANSFORMER_PIPES = [\r\n  PascalCasePipe,\r\n  CamelCasePipe,\r\n  SnakeCasePipe,\r\n  KebabCasePipe,\r\n  FlatCasePipe,\r\n  ScreamCasePipe,\r\n  NumbroFormatPipe,\r\n  NumbroAveragePipe,\r\n  NumbroFormatNumberPipe,\r\n];\r\n\r\n@NgModule({\r\n  declarations: [\r\n    ...ANGULAR_TRANSFORMER_PIPES,\r\n    TransformerComponent // development only, do not commit\r\n  ],\r\n  imports: [BrowserModule],\r\n  exports: ANGULAR_TRANSFORMER_PIPES,\r\n  bootstrap: [TransformerComponent] // development only, do not commit\r\n})\r\nexport class TransformerModule {\r\n  static forRoot(options?: NgxTransformerOptions): ModuleWithProviders<TransformerModule> {\r\n    return {\r\n      ngModule: TransformerModule,\r\n      providers: [\r\n        {\r\n          provide: NGX_TRANSFORMER_OPTIONS,\r\n          useValue: {\r\n            ...options,\r\n          },\r\n        },\r\n      ],\r\n    };\r\n  }\r\n}\r\n","// Pipes exports\r\nexport { PascalCasePipe } from './case/pascal-case/pascal-case.pipe';\r\nexport { CamelCasePipe } from './case/camel-case/camel-case.pipe';\r\nexport { SnakeCasePipe } from './case/snake-case/snake-case.pipe';\r\nexport { KebabCasePipe } from './case/kebab-case/kebab-case.pipe';\r\nexport { FlatCasePipe } from './case/flat-case/flat-case.pipe';\r\nexport { ScreamCasePipe } from './case/scream-case/scream-case.pipe';\r\nexport { NumbroFormatPipe } from './numbro/numbro-format/numbro-format.pipe';\r\nexport { NumbroFormatNumberPipe } from './numbro/numbro-format-number/numbro-format-number.pipe';\r\nexport { NumbroAveragePipe } from './numbro/numbro-average/numbro-average.pipe';\r\n// Models exports\r\nexport { Negative, Output } from './numbro/models';\r\n// Main module\r\nexport { TransformerModule } from './transformer.module';\r\nexport { NgxTransformerOptions, NGX_TRANSFORMER_OPTIONS } from './transformer-options';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.CamelCasePipe","i2.SnakeCasePipe","i3.KebabCasePipe","i4.FlatCasePipe","i5.PascalCasePipe","i6.ScreamCasePipe","i7.NumbroFormatNumberPipe","i8.NumbroAveragePipe"],"mappings":"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"}