UNPKG

@arcgis/core

Version:

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

6 lines (5 loc) 3.76 kB
/* All material copyright ESRI, All Rights Reserved, unless otherwise specified. See https://js.arcgis.com/4.33/esri/copyright.txt for details. */ import{DateOnly as n}from"./DateOnly.js";import{SqlError as e,SqlErrorCodes as t}from"./errorSupport.js";import{SqlInterval as r}from"./SqlInterval.js";import{SqlTimeStampOffset as a}from"./SqlTimestampOffset.js";import{TimeOnly as s}from"./TimeOnly.js";import{substituteUnknownTimezone as i,UnknownTimeZone as o}from"./UnknownTimeZone.js";import{DateTime as l,Zone as p}from"luxon";const d=/^(\d{1,2}):(\d{1,2}):(\d{1,2})$/,m=/^(\d{1,2}):(\d{1,2})$/,I=/^(\d{1,2}):(\d{1,2}):(\d{1,2}).([0-9]+)$/,f=/^(\d{4})-(\d{1,2})-(\d{1,2})$/,u=/^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?$/,c=/^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})(\.[0-9]+)?[ ]{0,1}(\+|-)(\d{1,2}):(\d{1,2})$/,w=/^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})?[ ]{0,1}(\+|-)(\d{1,2}):(\d{1,2})$/,h=/^(\d{4})-(\d{1,2})-(\d{1,2}) (\d{1,2}):(\d{1,2})$/;function T(n,e){if(e instanceof p)return e===o.instance?l.fromMillis(n.getTime(),{zone:o.instance}):l.fromJSDate(n,{zone:e});switch(e){case"system":case"local":case null:return l.fromJSDate(n);default:return"unknown"===e?.toLowerCase()?l.fromMillis(n.getTime(),{zone:o.instance}):l.fromJSDate(n,{zone:e})}}function v(n){return r.isInterval(n)}function y(n){return l.isDateTime(n)}function S(e){return n.isDateOnly(e)}function x(n){return s.isTimeOnly(n)}function j(n){return a.isTimestampOffset(n)}function O(n){let r=d.exec(n);if(null!==r){const[,n,a,i]=r,o=s.fromParts(parseInt(n,10),parseInt(a,10),parseInt(i,10),0);if(null!==o)return o;throw new e(t.InvalidTime)}if(r=m.exec(n),null!==r){const[,n,a]=r,i=s.fromParts(parseInt(n,10),parseInt(a,10),0,0);if(null!==i)return i;throw new e(t.InvalidTime)}if(r=I.exec(n),null!==r){const[,n,a,i,o]=r,l=s.fromParts(parseInt(n,10),parseInt(a,10),parseInt(i,10),parseInt(o,10));if(null!==l)return l;throw new e(t.InvalidTime)}throw new e(t.InvalidTime)}function D(n,r,s=!1){let o=u.exec(n);if(null!==o){const[,n,a,s,p,d,m,I]=o,f=l.fromObject({year:parseInt(n,10),month:parseInt(a,10),day:parseInt(s,10),hour:parseInt(p,10),minute:parseInt(d,10),second:parseInt(m,10),millisecond:I?parseInt(I.replace(".",""),10):0},{zone:i(r)});if(!1===f.isValid)throw new e(t.InvalidTimeStamp);return f}if(o=c.exec(n),null!==o){const[,n,r,s,i,l,p,d,m,I,f]=o,u=a.fromParts(parseInt(n,10),parseInt(r,10),parseInt(s,10),parseInt(i,10),parseInt(l,10),parseInt(p,10),d?parseInt(d.replace(".",""),10):0,"-"===m,parseInt(I,10),parseInt(f,10));if(!1===u.isValid)throw new e(t.InvalidTimeStamp);return u}if(o=w.exec(n),null!==o){const[,n,r,s,i,l,p,d,m]=o,I=a.fromParts(parseInt(n,10),parseInt(r,10),parseInt(s,10),parseInt(i,10),parseInt(l,10),0,0,"-"===p,parseInt(d,10),parseInt(m,10));if(!1===I.isValid)throw new e(t.InvalidTimeStamp);return I}if(o=h.exec(n),null!==o){const[,n,a,s,p,d]=o,m=l.fromObject({year:parseInt(n,10),month:parseInt(a,10),day:parseInt(s,10),hour:parseInt(p,10),minute:parseInt(d,10),second:0},{zone:i(r)});if(!1===m.isValid)throw new e(t.InvalidTimeStamp);return m}if(o=f.exec(n),null!==o){const[,n,a,s]=o,p=l.fromObject({year:parseInt(n,10),month:parseInt(a,10),day:parseInt(s,10),hour:0,minute:0,second:0},{zone:i(r)});if(!1===p.isValid)throw new e(t.InvalidTimeStamp);return p}throw new e(t.InvalidTimeStamp)}function $(r,a){const s=f.exec(r);if(null===s)try{return D(r,a)}catch{throw new e(t.InvalidDate)}const[,i,o,l]=s,p=n.fromParts(parseInt(i,10),parseInt(o,10),parseInt(l,10));if(null===p)throw new e(t.InvalidDate);return p}export{T as convertToExecutingTimeZone,S as isDateOnly,y as isDateTime,v as isSqlInterval,x as isTimeOnly,j as isTimestampOffset,$ as parseDate,O as parseTime,D as parseTimestamp};