@obliczeniowo/elementary
Version:
Library made in Angular version 20
1 lines • 22.9 kB
Source Map (JSON)
{"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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"}