@arcgis/core
Version:
ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API
6 lines (5 loc) • 1.65 kB
JavaScript
/*
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
See https://js.arcgis.com/4.33/esri/copyright.txt for details.
*/
import{timeSinceUTCMidnight as t,makeUTCTime as n}from"../../../core/timeUtils.js";var e;!function(t){t[t.NORTHERN=0]="NORTHERN",t[t.SOUTHERN=1]="SOUTHERN"}(e||(e={}));const i={spring:{dayOfMonth:20,month:2},summer:{dayOfMonth:21,month:5},fall:{dayOfMonth:23,month:8},winter:{dayOfMonth:21,month:11}},r=["spring","summer","fall","winter"];function o(t,n,e){const r=f(n,e),{dayOfMonth:o,month:m}=i[r],u=new Date(t.getTime());return u.setMonth(m,o),u}function m(t,n){return f(u(t),n)}function u(t){const n=t.getTime(),i=o(t,"spring",e.NORTHERN).getTime(),r=o(t,"summer",e.NORTHERN).getTime(),m=o(t,"fall",e.NORTHERN).getTime(),u=o(t,"winter",e.NORTHERN).getTime();return n>=i&&n<r?"spring":n>=r&&n<m?"summer":n>=m&&n<u?"fall":"winter"}function f(t,n){return n===e.NORTHERN?t:s(t)}function s(t){const n=r.indexOf(t);return r[(n+2)%4]}function N(t,e){return n(t,e,"minutes")}function T(n){return t(n,"minutes")}function c(t,n,e){const i=12e5,r=i/4,o=18e5,m=r/3*2,u=72e5;if(null==t||null==n||isNaN(t.getTime())&&isNaN(n.getTime()))return r;const f=e.getTime(),s=t.getTime(),N=n.getTime(),T=s-u/2,c=s+u/2,R=N-u/3*2,g=N+u/3;let O=r;return f>=T&&f<=c?O=f-T<=i?o-(f-T)/i*(o-m):c-f<=i/2?r-(c-f)/i*2*(r-m):m:f>=R&&f<=g?O=f-R<=i/2?r-(f-R)/i*2*(r-m):g-f<=i?o-(g-f)/i*(o-m):m:(f<s||f>N)&&(O=o),O}export{e as Hemisphere,c as calculatePlaySpeed,T as dateTimeToSliderPos,s as flipSeasonHemisphere,f as getNorthernHemisphereSeason,o as getSeasonDate,m as getSeasonFromDate,r as orderedSeasons,N as sliderPosToDateTime};