MCPcopy Create free account
hub / github.com/microsoft/SandDance / numberLocale

Function numberLocale

docs/app/js/sanddance-app.js:109981–110025  ·  view source on GitHub ↗
(locale1)

Source from the content-addressed store, hash-verified

109979 }
109980}
109981function numberLocale(locale1) {
109982 const format = memoize(locale1.format), formatPrefix = locale1.formatPrefix;
109983 return {
109984 format,
109985 formatPrefix,
109986 formatFloat (spec) {
109987 const s = (0, _d3Format.formatSpecifier)(spec || ",");
109988 if (s.precision == null) {
109989 s.precision = 12;
109990 switch(s.type){
109991 case "%":
109992 s.precision -= 2;
109993 break;
109994 case "e":
109995 s.precision -= 1;
109996 break;
109997 }
109998 return trimZeroes(format(s), format(".1f")(1)[1] // decimal point character
109999 );
110000 } else return format(s);
110001 },
110002 formatSpan (start, stop, count, specifier) {
110003 specifier = (0, _d3Format.formatSpecifier)(specifier == null ? ",f" : specifier);
110004 const step = (0, _d3Array.tickStep)(start, stop, count), value = Math.max(Math.abs(start), Math.abs(stop));
110005 let precision;
110006 if (specifier.precision == null) switch(specifier.type){
110007 case "s":
110008 if (!isNaN(precision = (0, _d3Format.precisionPrefix)(step, value))) specifier.precision = precision;
110009 return formatPrefix(specifier, value);
110010 case "":
110011 case "e":
110012 case "g":
110013 case "p":
110014 case "r":
110015 if (!isNaN(precision = (0, _d3Format.precisionRound)(step, value))) specifier.precision = precision - (specifier.type === "e");
110016 break;
110017 case "f":
110018 case "%":
110019 if (!isNaN(precision = (0, _d3Format.precisionFixed)(step))) specifier.precision = precision - (specifier.type === "%") * 2;
110020 break;
110021 }
110022 return format(specifier);
110023 }
110024 };
110025}
110026let defaultNumberLocale;
110027resetNumberFormatDefaultLocale();
110028function resetNumberFormatDefaultLocale() {

Callers 2

numberFormatLocaleFunction · 0.70

Calls 1

memoizeFunction · 0.70

Tested by

no test coverage detected