UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

6 lines (5 loc) 3.26 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{ByteSizeUnit as t}from"./ByteSizeUnit.js";import{cyclicalDegrees as n}from"./Cyclical.js";import{clamp as i}from"./mathUtils.js";import{convertRotationType as r}from"./quantityUtils.js";import{replace as o}from"./string.js";import{convertUnit as e,adaptiveMetricLengthUnit as s,adaptiveImperialLengthUnit as u,adaptiveImperialVerticalLengthUnit as c,adaptiveMetricVerticalLengthUnit as a,adaptiveImperialAreaUnit as m,adaptiveMetricAreaUnit as f}from"./unitUtils.js";import{formatNumber as l}from"../intl/number.js";function b(t,n,i){return t.units[n][i]}function g(t,n,i,r=2,o="abbr"){return`${l(n,{minimumFractionDigits:r,maximumFractionDigits:r,signDisplay:n>0?"never":"exceptZero"})} ${b(t,i,o)}`}function p(t,n,i,r=2,o="abbr"){return`${l(n,{minimumFractionDigits:r,maximumFractionDigits:r,signDisplay:"exceptZero"})} ${b(t,i,o)}`}function D(t,n,i,r=2,o="abbr"){const u=s(n,i);return g(t,e(n,i,u),u,r,o)}function x(t,n,i,r=2,o="abbr"){const u=s(n,i);return p(t,e(n,i,u),u,r,o)}function y(t,n,i,r=2,o="abbr"){const s=a(n,i);return g(t,e(n,i,s),s,r,o)}function F(t,n,i,r=2,o="abbr"){const s=a(n,i);return p(t,e(n,i,s),s,r,o)}function d(t,n,i,r=2,o="abbr"){const s=u(n,i);return g(t,e(n,i,s),s,r,o)}function h(t,n,i,r=2,o="abbr"){const s=u(n,i);return p(t,e(n,i,s),s,r,o)}function B(t,n,i,r=2,o="abbr"){const s=c(n,i);return g(t,e(n,i,s),s,r,o)}function M(t,n,i,r=2,o="abbr"){const s=c(n,i);return p(t,e(n,i,s),s,r,o)}function $(t,n,i,r=2,o="abbr"){const s=f(n,i);return g(t,e(n,i,s),s,r,o)}function j(t,n,i,r=2,o="abbr"){const s=m(n,i);return g(t,e(n,i,s),s,r,o)}function S(t,n,i=2){let r=e(t,n,"degrees"),o=r-Math.floor(r);r-=o,o*=60;let s=o-Math.floor(o);return o-=s,s*=60,`${r.toFixed()}° ${o.toFixed()}' ${s.toFixed(i)}"`}const U=(t,n)=>({style:"unit",unitDisplay:"narrow",unit:"degree",maximumFractionDigits:n,minimumFractionDigits:n,signDisplay:t>0?"never":"exceptZero"});function w(t,i,o,s,u,c=n,a=!0){let m=c.normalize(r(e(t,i,"degrees"),o,s),0,a);const f=U(m,u??2);return m=I(m,f),l(m,f)}function Z(t,n,i,r,o=2){i!==r&&(t=-t);const s={style:"unit",unitDisplay:"narrow",unit:"degree",maximumFractionDigits:o,minimumFractionDigits:o,signDisplay:"exceptZero"};let u=e(t,n,"degrees")%360;return u=I(u,s),l(u,s)}const z=new Map;function I(t,n){const i=JSON.stringify(n);let r=z.get(i);return r||(r=new Intl.NumberFormat("en-US",n),z.set(i,r)),/^[-+]?360\.?0*°?$/.test(r.format(t))?0:t}const O=["B","kB","MB","GB","TB"];function T(n,r){let e=0===(r=Math.round(r))?0:Math.floor(Math.log(r)/Math.log(t.KILOBYTES));e=i(e,0,O.length-1);const s=l(r/t.KILOBYTES**e,{maximumFractionDigits:2});return o(n.units.bytes[O[e]],{fileSize:s})}export{w as formatAngleDegrees,S as formatDMS,g as formatDecimal,T as formatFileSize,j as formatImperialArea,d as formatImperialLength,h as formatImperialRelativeLength,M as formatImperialRelativeVerticalLength,B as formatImperialVerticalLength,$ as formatMetricArea,D as formatMetricLength,x as formatMetricRelativeLength,F as formatMetricRelativeVerticalLength,y as formatMetricVerticalLength,Z as formatRelativeAngleDegrees,p as formatRelativeDecimal,b as unitName};