@doegis/core
Version:
DOE GIS API
3 lines (1 loc) • 3.22 kB
JavaScript
import{ByteSizeUnit as t}from"./byteSizeEstimations.js";import{cyclicalDegrees as n}from"./Cyclical.js";import{clamp as r}from"./mathUtils.js";import{unwrapOr as i}from"./maybe.js";import{replace as e}from"./string.js";import{preferredMetricLengthUnit as o,convertUnit as u,preferredMetricVerticalLengthUnit as s,preferredImperialLengthUnit as c,preferredImperialVerticalLengthUnit as a,preferredMetricAreaUnit as m,preferredImperialAreaUnit as f}from"./unitUtils.js";import{formatNumber as b}from"../intl/number.js";function l(t,n,r){return t.units[n][r]}function g(t,n,r,i=2,e="abbr"){return`${b(n,{minimumFractionDigits:i,maximumFractionDigits:i,signDisplay:n>0?"never":"exceptZero"})} ${l(t,r,e)}`}function p(t,n,r,i=2,e="abbr"){return`${b(n,{minimumFractionDigits:i,maximumFractionDigits:i,signDisplay:"exceptZero"})} ${l(t,r,e)}`}function D(t,n,r,i=2,e="abbr"){const s=o(n,r);return g(t,u(n,r,s),s,i,e)}function x(t,n,r,i=2,e="abbr"){const s=o(n,r);return p(t,u(n,r,s),s,i,e)}function y(t,n,r,i=2,e="abbr"){const o=s(n,r);return g(t,u(n,r,o),o,i,e)}function F(t,n,r,i=2,e="abbr"){const o=s(n,r);return p(t,u(n,r,o),o,i,e)}function h(t,n,r,i=2,e="abbr"){const o=c(n,r);return g(t,u(n,r,o),o,i,e)}function d(t,n,r,i=2,e="abbr"){const o=c(n,r);return p(t,u(n,r,o),o,i,e)}function j(t,n,r,i=2,e="abbr"){const o=a(n,r);return g(t,u(n,r,o),o,i,e)}function B(t,n,r,i=2,e="abbr"){const o=a(n,r);return p(t,u(n,r,o),o,i,e)}function M(t,n,r,i=2,e="abbr"){const o=m(n,r);return g(t,u(n,r,o),o,i,e)}function $(t,n,r,i=2,e="abbr"){const o=f(n,r);return g(t,u(n,r,o),o,i,e)}function S(t,n,r=2){let i=u(t,n,"degrees"),e=i-Math.floor(i);i-=e,e*=60;let o=e-Math.floor(e);return e-=o,o*=60,`${i.toFixed()}° ${e.toFixed()}' ${o.toFixed(r)}"`}function w(t,r,e,o,s){s=i(s,2);let c=n.normalize(I(u(t,r,"degrees"),e,o),0,!0);const a={style:"unit",unitDisplay:"narrow",unit:"degree",maximumFractionDigits:s,minimumFractionDigits:s,signDisplay:c>0?"never":"exceptZero"};return c=E(c,a),b(c,a)}function Z(t,n,r,e,o){r!==e&&(t=-t);const s={style:"unit",unitDisplay:"narrow",unit:"degree",maximumFractionDigits:o=i(o,2),minimumFractionDigits:o,signDisplay:"exceptZero"};let c=u(t,n,"degrees")%360;return c=E(c,s),b(c,s)}const z=new Map;function E(t,n){const r=JSON.stringify(n);let i=z.get(r);return i||(i=new Intl.NumberFormat("en-US",n),z.set(r,i)),/\-?\+?360/.test(i.format(t))?0:t}function I(t,n,r){if(n===r)return t;switch(r){case"arithmetic":return O(t);case"geographic":return T(t)}}function O(t){return 90-t}function T(t){return-t-90}const U=["B","kB","MB","GB","TB"];function v(n,i){let o=0===i?0:Math.floor(Math.log(i)/Math.log(t.KILOBYTES));o=r(o,0,U.length-1);const u=b(i/t.KILOBYTES**o,{maximumFractionDigits:2});return e(n.units.bytes[U[o]],{fileSize:u})}export{w as formatAngleDegrees,S as formatDMS,g as formatDecimal,v as formatFileSize,$ as formatImperialArea,h as formatImperialLength,d as formatImperialRelativeLength,B as formatImperialRelativeVerticalLength,j as formatImperialVerticalLength,M as formatMetricArea,D as formatMetricLength,x as formatMetricRelativeLength,F as formatMetricRelativeVerticalLength,y as formatMetricVerticalLength,Z as formatRelativeAngleDegrees,p as formatRelativeDecimal,l as unitName};