{"version":3,"file":"obliczeniowo-elementary-numeric-pipes.mjs","sources":["../../../../projects/components/numeric-pipes/pipes/units.pipe.ts","../../../../projects/components/numeric-pipes/pipes/limits.pipe.ts","../../../../projects/components/numeric-pipes/pipes/int-filter.pipe.ts","../../../../projects/components/numeric-pipes/pipes/range-filter.pipe.ts","../../../../projects/components/numeric-pipes/pipes/abs.pipe.ts","../../../../projects/components/numeric-pipes/pipes/u-int-filter.pipe.ts","../../../../projects/components/numeric-pipes/pipes/math.pipe.ts","../../../../projects/components/numeric-pipes/pipes/is-numeric.pipe.ts","../../../../projects/components/numeric-pipes/pipes/min-max.pipe.ts","../../../../projects/components/numeric-pipes/pipes/min.pipe.ts","../../../../projects/components/numeric-pipes/pipes/max.pipe.ts","../../../../projects/components/numeric-pipes/obliczeniowo-elementary-numeric-pipes.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { TranslationPipe } from '@obliczeniowo/elementary/text-pipes';\n\nconst units = {\n  basic: [\n    {\n      unit: '',\n      max: 0,\n    },\n    {\n      unit: '',\n      max: 1e3,\n    },\n    {\n      unit: 'k',\n      max: 1e6,\n    },\n    {\n      unit: 'M',\n      max: 1e9,\n    },\n    {\n      unit: 'G',\n      max: 1e12,\n    },\n    {\n      unit: 'T',\n      max: 1e15,\n    },\n    {\n      unit: 'P',\n      max: 1e18,\n    },\n    {\n      unit: 'E',\n      max: 1e21,\n    },\n    {\n      unit: 'Z',\n      max: 1e24,\n    },\n    {\n      unit: 'Y',\n      max: 1e27,\n    },\n    {\n      unit: 'R',\n      max: 1e30,\n    },\n    {\n      unit: 'Q',\n      max: Infinity,\n    },\n  ],\n  fullInteger: [\n    {\n      unit: '',\n      max: 0,\n    },\n    {\n      unit: '',\n      max: 10,\n    },\n    {\n      unit: 'da',\n      max: 1e2,\n    },\n    {\n      unit: 'h',\n      max: 1e3,\n    },\n    {\n      unit: 'k',\n      max: 1e6,\n    },\n    {\n      unit: 'M',\n      max: 1e9,\n    },\n    {\n      unit: 'G',\n      max: 1e12,\n    },\n    {\n      unit: 'T',\n      max: 1e15,\n    },\n    {\n      unit: 'P',\n      max: 1e18,\n    },\n    {\n      unit: 'E',\n      max: 1e21,\n    },\n    {\n      unit: 'Z',\n      max: 1e24,\n    },\n    {\n      unit: 'Y',\n      max: 1e27,\n    },\n    {\n      unit: 'R',\n      max: 1e30,\n    },\n    {\n      unit: 'Q',\n      max: Infinity,\n    },\n  ],\n  decimal: [\n    {\n      unit: 'none',\n      max: 1e-30,\n    },\n    {\n      unit: 'q',\n      max: 1e-27,\n    },\n    {\n      unit: 'r',\n      max: 1e-24,\n    },\n    {\n      unit: 'y',\n      max: 1e-21,\n    },\n    {\n      unit: 'z',\n      max: 1e-18,\n    },\n    {\n      unit: 'a',\n      max: 1e-15,\n    },\n    {\n      unit: 'f',\n      max: 1e-12,\n    },\n    {\n      unit: 'p',\n      max: 1e-9,\n    },\n    {\n      unit: 'n',\n      max: 1e-6,\n    },\n    {\n      unit: 'µ',\n      max: 1e-3,\n    },\n    {\n      unit: 'm',\n      max: 1,\n    },\n    {\n      unit: '',\n      max: 1e3,\n    },\n    {\n      unit: 'k',\n      max: 1e6,\n    },\n    {\n      unit: 'M',\n      max: 1e9,\n    },\n    {\n      unit: 'G',\n      max: 1e12,\n    },\n    {\n      unit: 'T',\n      max: 1e15,\n    },\n    {\n      unit: 'P',\n      max: 1e18,\n    },\n    {\n      unit: 'E',\n      max: 1e21,\n    },\n    {\n      unit: 'Z',\n      max: 1e24,\n    },\n    {\n      unit: 'Y',\n      max: 1e27,\n    },\n    {\n      unit: 'R',\n      max: 1e30,\n    },\n    {\n      unit: 'Q',\n      max: Infinity,\n    },\n  ],\n  fullDecimal: [\n    {\n      unit: 'none',\n      max: 1e-30,\n    },\n    {\n      unit: 'q',\n      max: 1e-27,\n    },\n    {\n      unit: 'r',\n      max: 1e-24,\n    },\n    {\n      unit: 'y',\n      max: 1e-21,\n    },\n    {\n      unit: 'z',\n      max: 1e-18,\n    },\n    {\n      unit: 'a',\n      max: 1e-15,\n    },\n    {\n      unit: 'f',\n      max: 1e-12,\n    },\n    {\n      unit: 'p',\n      max: 1e-9,\n    },\n    {\n      unit: 'n',\n      max: 1e-6,\n    },\n    {\n      unit: 'µ',\n      max: 1e-3,\n    },\n    {\n      unit: 'm',\n      max: 0.01,\n    },\n    {\n      unit: 'c',\n      max: 0.1,\n    },\n    {\n      unit: 'd',\n      max: 1,\n    },\n    {\n      unit: '',\n      max: 10,\n    },\n    {\n      unit: 'da',\n      max: 1e2,\n    },\n    {\n      unit: 'h',\n      max: 1e3,\n    },\n    {\n      unit: 'k',\n      max: 1e6,\n    },\n    {\n      unit: 'M',\n      max: 1e9,\n    },\n    {\n      unit: 'G',\n      max: 1e12,\n    },\n    {\n      unit: 'T',\n      max: 1e15,\n    },\n    {\n      unit: 'P',\n      max: 1e18,\n    },\n    {\n      unit: 'E',\n      max: 1e21,\n    },\n    {\n      unit: 'Z',\n      max: 1e24,\n    },\n    {\n      unit: 'Y',\n      max: 1e27,\n    },\n    {\n      unit: 'R',\n      max: 1e30,\n    },\n    {\n      unit: 'Q',\n      max: Infinity,\n    },\n  ],\n};\n\nconst phonetic: { [en: string]: string } = {\n  q: 'quecto',\n  r: 'ronto',\n  y: 'jokto',\n  z: 'zepto',\n  a: 'atto',\n  f: 'femto',\n  p: 'piko',\n  n: 'nano',\n  µ: 'mikro',\n  m: 'mili',\n  c: 'centy',\n  d: 'decy',\n  da: 'deka',\n  h: 'hekta',\n  k: 'kilo',\n  M: 'mega',\n  G: 'giga',\n  T: 'tera',\n  P: 'peta',\n  E: 'eksa',\n  Z: 'zetta',\n  Y: 'jotta',\n  R: 'roanna',\n  Q: 'quetta',\n};\n\nexport interface UnitsPipeOptions {\n  precision?: number;\n  type?: 'basic' | 'fullInteger' | 'decimal' | 'fullDecimal';\n  translations?: { [en: string]: string } | 'phonetic';\n}\n\n/**\n * Transform number from '12345' to '12.35 k'\n * Can use basic units: [k, M, G, ...]\n * Or in fullInteger type: [da, h, k, M, ...]\n * Ot in decimal type: [..., m, , k, ...]\n * Ot in fullDecimal type: [..., m, c, d, , da, h, k, ...]\n */\n@Pipe({\n  name: 'oblUnits',\n  standalone: true,\n})\nexport class UnitsPipe implements PipeTransform {\n  translate = new TranslationPipe();\n\n  transform(\n    value: number,\n    options?: UnitsPipeOptions\n  ): string {\n    const { type, precision, translations } = options || {};\n    const unitsSet = units[type || 'basic'];\n\n    if (value === 0) {\n      return value.toString();\n    }\n\n    let index = 1;\n\n    const v = Math.abs(value);\n\n    const max = () => unitsSet[index - 1].max || 1;\n    const toFixed = () => +(v / max()).toFixed(precision) * max();\n\n    while (\n      (toFixed() >= unitsSet[index].max || v / unitsSet[index].max === 1) &&\n      index < unitsSet.length\n    ) {\n      index += 1;\n    }\n\n    return (\n      (value / max()).toFixed(precision) +\n      (unitsSet[index].unit !== ''\n        ? ' ' +\n          this.translate.transform(\n            unitsSet[index].unit,\n            ((translations === 'phonetic' && phonetic) ||\n              translations ||\n              {}) as any\n          )\n        : '')\n    );\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ElementaryMath } from '@obliczeniowo/elementary/math';\n\nexport interface LimitsPipeOptions {\n  min?: number;\n  max?: number;\n  transformTo?: 'int-ceil' | 'int-floor' | 'int-round';\n}\n\n@Pipe({\n  name: 'oblLimits',\n  standalone: true,\n})\nexport class LimitsPipe implements PipeTransform {\n  transform(\n    value: number[],\n    options?: LimitsPipeOptions\n  ): number[] {\n    return value.map(value => {\n      value = ElementaryMath.minmax(\n        value || 0,\n        (options?.min !== undefined && options.min >= 0 && options.min) || 0,\n        options?.max ?? Infinity\n      );\n      const [type, roundType] = options?.transformTo?.split('-') || [];\n      return type === 'int' ? this.roundTo(value, roundType) : value;\n    });\n  }\n\n  roundTo(value: number, type: 'floor' | 'ceil' | 'bottom' | string) {\n    switch (type) {\n      case 'floor':\n        return Math.floor(value);\n      case 'ceil':\n        return Math.ceil(value);\n      case 'round':\n        return Math.round(value);\n      default:\n        return value;\n    }\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'oblIntFilter',\n  standalone: true\n})\nexport class IntFilterPipe implements PipeTransform {\n transform(value: number[]): number[] {\n    return value.filter(v => v === Math.floor(v));\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'oblRangeFilter',\n  standalone: true,\n})\nexport class RangeFilterPipe implements PipeTransform {\n  transform(value: number[], min?: number, max?: number): number[] {\n    return value.filter(\n      (v) => v >= (min || Number.NEGATIVE_INFINITY) && v <= (max || Infinity)\n    );\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'oblAbs',\n  standalone: true\n})\nexport class AbsPipe implements PipeTransform {\n  transform(value: number[]): number[] {\n    return value.map(v => Math.abs(v));\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'oblUIntFilter',\n  standalone: true\n})\nexport class UIntFilterPipe implements PipeTransform {\n\n  transform(value: number[], max?: number): unknown {\n    return value.filter(v => v === Math.floor(v) && v >= 0 && v <= (max || Infinity));\n  }\n\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ElementaryMath, Operations } from '@obliczeniowo/elementary/math';\n\n@Pipe({\n  name: 'oblMath',\n  standalone: true\n})\nexport class MathPipe implements PipeTransform {\n  transform(value: number, operations: Operations): number {\n    return ElementaryMath.calculate(operations, { x: value });\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { ElementaryMath } from '@obliczeniowo/elementary/math';\n\n@Pipe({\n  name: 'oblIsNumeric',\n  standalone: true\n})\nexport class IsNumericPipe implements PipeTransform {\n  transform(value: string | number, fully?: boolean): boolean {\n    return ElementaryMath.isNumeric(value, fully);\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\nimport { ElementaryMath, MinMax } from '@obliczeniowo/elementary/math';\n\n@Pipe({\n  name: 'oblMinMax',\n  standalone: true\n})\nexport class MinMaxPipe implements PipeTransform {\n  transform(numbers: number[]): MinMax {\n    return ElementaryMath.getMinMax(numbers);\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'oblMin',\n  standalone: true\n})\nexport class MinPipe implements PipeTransform {\n  transform(value: number[]): number {\n    return Math.min(...value);\n  }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\n\n@Pipe({\n  name: 'oblMax',\n  standalone: true\n})\nexport class MaxPipe implements PipeTransform {\n  transform(value: number[]): number {\n    return Math.max(...value);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}