@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
1 lines • 3.29 kB
Source Map (JSON)
{"version":3,"file":"numbers.mjs","sources":["../../../../src/tools/formatters/numbers.ts"],"sourcesContent":["import { Type } from '../type'\n\nexport default class FormatterNumbers {\n private static isInternalConstructing: boolean = false\n private static instance: FormatterNumbers | null = null\n private _defLocale: null | string = null\n private constructor() {\n if (!FormatterNumbers.isInternalConstructing) {\n throw new TypeError('FormatterNumber is not constructable')\n }\n FormatterNumbers.isInternalConstructing = false\n }\n\n /**\n * @return FormatterNumbers\n */\n static getInstance(): FormatterNumbers {\n if (!FormatterNumbers.instance) {\n FormatterNumbers.isInternalConstructing = true\n FormatterNumbers.instance = new FormatterNumbers()\n }\n return FormatterNumbers.instance\n }\n\n setDefLocale(locale: string) {\n this._defLocale = locale\n }\n\n format(value: number, locale?: string): string {\n let formatter\n if (typeof locale === 'undefined' || !Type.isStringFilled(locale)) {\n locale = Type.isStringFilled(this._defLocale)\n ? this._defLocale || 'en'\n : (\n typeof navigator === 'undefined'\n ? 'en'\n : navigator?.language || 'en'\n )\n }\n\n if (Number.isInteger(value)) {\n formatter = new Intl.NumberFormat(locale, {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n })\n } else {\n formatter = new Intl.NumberFormat(locale, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n }\n\n let result = formatter.format(value)\n if (locale.includes('ru')) {\n result = result.replace(',', '.')\n }\n\n return result\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAqB,gBAAA,CAAiB;AAAA,EAFtC;AAEsC,IAAA,MAAA,CAAA,IAAA,EAAA,kBAAA,CAAA;AAAA;AAAA,EACpC,OAAe,sBAAA,GAAkC,KAAA;AAAA,EACjD,OAAe,QAAA,GAAoC,IAAA;AAAA,EAC3C,UAAA,GAA4B,IAAA;AAAA,EAC5B,WAAA,GAAc;AACpB,IAAA,IAAI,CAAC,iBAAiB,sBAAA,EAAwB;AAC5C,MAAA,MAAM,IAAI,UAAU,sCAAsC,CAAA;AAAA,IAC5D;AACA,IAAA,gBAAA,CAAiB,sBAAA,GAAyB,KAAA;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,WAAA,GAAgC;AACrC,IAAA,IAAI,CAAC,iBAAiB,QAAA,EAAU;AAC9B,MAAA,gBAAA,CAAiB,sBAAA,GAAyB,IAAA;AAC1C,MAAA,gBAAA,CAAiB,QAAA,GAAW,IAAI,gBAAA,EAAiB;AAAA,IACnD;AACA,IAAA,OAAO,gBAAA,CAAiB,QAAA;AAAA,EAC1B;AAAA,EAEA,aAAa,MAAA,EAAgB;AAC3B,IAAA,IAAA,CAAK,UAAA,GAAa,MAAA;AAAA,EACpB;AAAA,EAEA,MAAA,CAAO,OAAe,MAAA,EAAyB;AAC7C,IAAA,IAAI,SAAA;AACJ,IAAA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,CAAC,IAAA,CAAK,cAAA,CAAe,MAAM,CAAA,EAAG;AACjE,MAAA,MAAA,GAAS,IAAA,CAAK,cAAA,CAAe,IAAA,CAAK,UAAU,CAAA,GACxC,IAAA,CAAK,UAAA,IAAc,IAAA,GAEjB,OAAO,SAAA,KAAc,WAAA,GACjB,IAAA,GACA,WAAW,QAAA,IAAY,IAAA;AAAA,IAEnC;AAEA,IAAA,IAAI,MAAA,CAAO,SAAA,CAAU,KAAK,CAAA,EAAG;AAC3B,MAAA,SAAA,GAAY,IAAI,IAAA,CAAK,YAAA,CAAa,MAAA,EAAQ;AAAA,QACxC,qBAAA,EAAuB,CAAA;AAAA,QACvB,qBAAA,EAAuB;AAAA,OACxB,CAAA;AAAA,IACH,CAAA,MAAO;AACL,MAAA,SAAA,GAAY,IAAI,IAAA,CAAK,YAAA,CAAa,MAAA,EAAQ;AAAA,QACxC,qBAAA,EAAuB,CAAA;AAAA,QACvB,qBAAA,EAAuB;AAAA,OACxB,CAAA;AAAA,IACH;AAEA,IAAA,IAAI,MAAA,GAAS,SAAA,CAAU,MAAA,CAAO,KAAK,CAAA;AACnC,IAAA,IAAI,MAAA,CAAO,QAAA,CAAS,IAAI,CAAA,EAAG;AACzB,MAAA,MAAA,GAAS,MAAA,CAAO,OAAA,CAAQ,GAAA,EAAK,GAAG,CAAA;AAAA,IAClC;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AACF;;;;"}