// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ../ArcadeDate ../executionError ../../chunks/languageUtils ../../core/sql/DateOnly ../../core/sql/TimeOnly ../../intl/locale ../../chunks/datetime".split(" "),function(v,k,m,b,p,q,w,u){function n(g){return null===g?g:!1===g.isValid?null:g}function t(g,h){return""===g||"default"===g.toLowerCase().trim()?b.defaultTimeZone(h):"z"===g||"Z"===g?"UTC":g}function r(g,h){return b.isDateOnly(g)?g.toArcadeDate():b.toDate(g,b.defaultTimeZone(h))}const x=[0,31,59,90,120,151,181,212,243,273,304, 334],y=[0,31,60,91,121,152,182,213,244,274,305,335];v.registerFunctions=function(g,h){g.today=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,0,0,d,e);c=new Date;c.setHours(0,0,0,0);return k.ArcadeDate.dateJSAndZoneToArcadeDate(c,b.defaultTimeZone(d))})};g.time=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,0,4,d,e);switch(a.length){case 0:return c=k.ArcadeDate.nowToArcadeDate(b.defaultTimeZone(d)),new q.TimeOnly(c.hour,c.minute,c.second,c.millisecond);case 1:if(b.isTime(a[0]))return a[0].clone(); if(b.isDate(a[0]))return new q.TimeOnly(a[0].hour,a[0].minute,a[0].second,a[0].millisecond);if(b.isDateOnly(a[0]))return new q.TimeOnly(0,0,0,0);if(b.isString(a[0]))return q.TimeOnly.fromString(a[0]);c=b.toNumber(a[0]);return!1===isNaN(c)?q.TimeOnly.fromMilliseconds(c):null;case 2:return b.isString(a[0])&&b.isString(a[1])?q.TimeOnly.fromString(a[0],a[1]):q.TimeOnly.fromParts(b.toNumber(a[0]),b.toNumber(a[1]),0,0);case 3:return q.TimeOnly.fromParts(b.toNumber(a[0]),b.toNumber(a[1]),b.toNumber(a[2]), 0);case 4:return q.TimeOnly.fromParts(b.toNumber(a[0]),b.toNumber(a[1]),b.toNumber(a[2]),b.toNumber(a[3]))}throw new m.ArcadeExecutionError(d,m.ExecutionErrorCodes.InvalidParameter,e);})};g.dateonly=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,0,3,d,e);if(3===a.length)return p.DateOnly.fromParts(b.toNumber(a[0]),b.toNumber(a[1])+1,b.toNumber(a[2]));if(2===a.length)return c=b.toString(a[1]),""===c?null:"X"===c?p.DateOnly.fromSeconds(b.toNumber(a[0])):"x"===c?p.DateOnly.fromMilliseconds(b.toNumber(a[0])): p.DateOnly.fromString(b.toString(a[0]),c);if(1===a.length){if(b.isString(a[0])){if(""===a[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(a[0]))return p.DateOnly.fromString(a[0]+"-01-01")}if(b.isDateOnly(a[0]))return a[0].clone();if(b.isDate(a[0]))return p.DateOnly.fromParts(a[0].year,a[0].monthJS+1,a[0].day);c=b.toNumber(a[0]);return!1===isNaN(c)?p.DateOnly.fromMilliseconds(c):b.isString(a[0])?p.DateOnly.fromString(a[0]):null}return 0===a.length? (a=k.ArcadeDate.nowToArcadeDate(b.defaultTimeZone(d)),!1===a.isValid?null:p.DateOnly.fromParts(a.year,a.monthJS+1,a.day)):null})};g.changetimezone=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,2,2,d,e);if(null===a[0])return null;if(b.isDateOnly(a[0]))throw new m.ArcadeExecutionError(d,m.ExecutionErrorCodes.CannotChangeTimeZoneDateOnly,e);if(b.isDateOnly(a[0]))throw new m.ArcadeExecutionError(d,m.ExecutionErrorCodes.CannotChangeTimeZoneTime,e);c=b.toDate(a[0],b.defaultTimeZone(d));if(null===c)throw new m.ArcadeExecutionError(d, m.ExecutionErrorCodes.InvalidParameter,e);a=k.createDateTimeZone(t(b.toString(a[1]),d),!1);if(null===a)return null;a=k.ArcadeDate.arcadeDateAndZoneToArcadeDate(c,a);return!1===a.isValid?null:a})};g.timezone=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,2,d,e);if(b.isTime(a[0])||b.isDateOnly(a[0]))return"Unknown";c=b.toDate(a[0],b.defaultTimeZone(d));if(null===c)return null;c=c.timeZone;return"system"===c?k.ArcadeDate.systemTimeZoneCanonicalName:"utc"===c.toLowerCase()?"UTC":"unknown"===c.toLowerCase()? "Unknown":c})};g.timezoneoffset=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);c=b.toDate(a[0],b.defaultTimeZone(d));return null===c?null:6E4*c.timeZoneOffset})};g.now=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,0,0,d,e);c=k.ArcadeDate.nowToArcadeDate(b.defaultTimeZone(d));return!1===c.isValid?null:c})};g.timestamp=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,0,0,d,e);c=k.ArcadeDate.nowUTCToArcadeDate();return!1===c.isValid?null:c})};g.toutc=function(d,e){return h(d,e,(c,f,a)=> {b.pcCheck(a,1,1,d,e);c=b.toDate(a[0],b.defaultTimeZone(d));return null===c?null:c.toUTC()})};g.tolocal=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);c=b.toDate(a[0],b.defaultTimeZone(d));return null===c?null:c.toLocal()})};g.day=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);c=r(a[0],b.defaultTimeZone(d));return null===c?NaN:c.day})};g.month=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);c=r(a[0],b.defaultTimeZone(d));return null===c?NaN:c.monthJS})};g.year=function(d, e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);c=r(a[0],b.defaultTimeZone(d));return null===c?NaN:c.year})};g.hour=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);if(b.isTime(a[0]))return a[0].hour;c=b.toDate(a[0],b.defaultTimeZone(d));return null===c?NaN:c.hour})};g.second=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);if(b.isTime(a[0]))return a[0].second;c=b.toDate(a[0],b.defaultTimeZone(d));return null===c?NaN:c.second})};g.millisecond=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a, 1,1,d,e);if(b.isTime(a[0]))return a[0].millisecond;c=b.toDate(a[0],b.defaultTimeZone(d));return null===c?NaN:c.millisecond})};g.minute=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);if(b.isTime(a[0]))return a[0].minute;c=b.toDate(a[0],b.defaultTimeZone(d));return null===c?NaN:c.minute})};g.week=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,2,d,e);f=r(a[0],b.defaultTimeZone(d));if(null===f)return NaN;a=b.toNumber(b.defaultUndefined(a[1],0));if(0>a||6c-a?7:0){b.pcCheck(a,1,1,d,e);c=r(a[0],b.defaultTimeZone(d));return null===c?NaN:c.dayOfWeekJS})};g.isoweekday=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);c=r(a[0],b.defaultTimeZone(d));return null===c?NaN:c.dayOfWeekISO})};g.isomonth=function(d,e){return h(d,e,(c, f,a)=>{b.pcCheck(a,1,1,d,e);c=r(a[0],b.defaultTimeZone(d));return null===c?NaN:c.monthISO})};g.isoweek=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);c=r(a[0],b.defaultTimeZone(d));return null===c?NaN:c.weekISO})};g.isoyear=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,1,1,d,e);c=r(a[0],b.defaultTimeZone(d));return null===c?NaN:c.yearISO})};g.date=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,0,8,d,e);if(3===a.length)return b.isDateOnly(a[0])&&b.isTime(a[1])&&b.isString(a[2])?(c= k.createDateTimeZone(t(b.toString(a[2])??"unknown",d),!1),null===c?null:n(k.ArcadeDate.fromParts(a[0].year,a[0].month,a[0].day,a[1].hour,a[1].minute,a[1].second,a[1].millisecond,c))):n(k.ArcadeDate.fromParts(b.toNumber(a[0]),b.toNumber(a[1])+1,b.toNumber(a[2]),0,0,0,0,b.defaultTimeZone(d)));if(4===a.length)return n(k.ArcadeDate.fromParts(b.toNumber(a[0]),b.toNumber(a[1])+1,b.toNumber(a[2]),b.toNumber(a[3]),0,0,0,b.defaultTimeZone(d)));if(5===a.length)return n(k.ArcadeDate.fromParts(b.toNumber(a[0]), b.toNumber(a[1])+1,b.toNumber(a[2]),b.toNumber(a[3]),b.toNumber(a[4]),0,0,b.defaultTimeZone(d)));if(6===a.length)return n(k.ArcadeDate.fromParts(b.toNumber(a[0]),b.toNumber(a[1])+1,b.toNumber(a[2]),b.toNumber(a[3]),b.toNumber(a[4]),b.toNumber(a[5]),0,b.defaultTimeZone(d)));if(7===a.length)return n(k.ArcadeDate.fromParts(b.toNumber(a[0]),b.toNumber(a[1])+1,b.toNumber(a[2]),b.toNumber(a[3]),b.toNumber(a[4]),b.toNumber(a[5]),b.toNumber(a[6]),b.defaultTimeZone(d)));if(8===a.length)return c=k.createDateTimeZone(t(b.toString(a[7])?? "unknown",d),!1),null===c?null:n(k.ArcadeDate.fromParts(b.toNumber(a[0]),b.toNumber(a[1])+1,b.toNumber(a[2]),b.toNumber(a[3]),b.toNumber(a[4]),b.toNumber(a[5]),b.toNumber(a[6]),c));if(2===a.length){if(b.isDateOnly(a[0])&&b.isString(a[1]))return c=k.createDateTimeZone(t(b.toString(a[1])??"unknown",d),!1),null===c?null:n(k.ArcadeDate.fromParts(a[0].year,a[0].month,a[0].day,0,0,0,0,c));if(b.isDateOnly(a[0])&&b.isTime(a[1]))return n(k.ArcadeDate.fromParts(a[0].year,a[0].month,a[0].day,a[1].hour,a[1].minute, a[1].second,a[1].millisecond,"unknown"));c=b.toString(a[1]);if(""===c)return null;c=b.standardiseDateFormat(c,!0);a="X"===c?u.DateTime.fromSeconds(b.toNumber(a[0])):"x"===c?u.DateTime.fromMillis(b.toNumber(a[0])):u.DateTime.fromFormat(b.toString(a[0]),c,{locale:w.getLocale(),numberingSystem:"latn"});return a.isValid?k.ArcadeDate.dateTimeToArcadeDate(a):null}if(1===a.length){if(b.isDateOnly(a[0]))return n(k.ArcadeDate.fromParts(a[0].year,a[0].month,a[0].day,0,0,0,0,"unknown"));if(b.isString(a[0])){if(""=== a[0].replaceAll(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""))return null;if(!0===/^[0-9][0-9][0-9][0-9]$/.test(a[0]))return b.toDate(a[0]+"-01-01",b.defaultTimeZone(d))}c=b.toNumber(a[0]);return!1===isNaN(c)?(a=u.DateTime.fromMillis(c),a.isValid?k.ArcadeDate.dateTimeAndZoneToArcadeDate(a,b.defaultTimeZone(d)):null):b.toDate(a[0],b.defaultTimeZone(d))}return 0===a.length?k.ArcadeDate.nowToArcadeDate(b.defaultTimeZone(d)):null})};g.datediff=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,2,4,d,e);if(b.isTime(a[0]))return b.isTime(a[1])? a[0].difference(a[1],b.toString(a[2])):NaN;if(b.isTime(a[1]))return NaN;if(b.isDateOnly(a[0]))return b.isDateOnly(a[1])?a[0].difference(a[1],b.toString(a[2])):NaN;if(b.isDateOnly(a[1]))return NaN;c=b.toDate(a[0],b.defaultTimeZone(d));f=b.toDate(a[1],b.defaultTimeZone(d));if(null===c||null===f)return NaN;let l=b.defaultUndefined(a[3],"");""!==l&&null!==l?(l=t(b.toString(l),d),c=k.ArcadeDate.arcadeDateAndZoneToArcadeDate(c,l),f=k.ArcadeDate.arcadeDateAndZoneToArcadeDate(f,l)):c.timeZone!==f.timeZone&& (c.isUnknownTimeZone?c=k.ArcadeDate.arcadeDateAndZoneToArcadeDate(c,f.timeZone):f=k.ArcadeDate.arcadeDateAndZoneToArcadeDate(f,c.timeZone));switch(b.toString(a[2]).toLowerCase()){case "days":case "day":case "d":return c.diff(f,"days");case "months":case "month":return c.diff(f,"months");case "minutes":case "minute":case "m":return"M"===a[2]?c.diff(f,"months"):c.diff(f,"minutes");case "seconds":case "second":case "s":return c.diff(f,"seconds");case "milliseconds":case "millisecond":case "ms":return c.diff(f); case "hours":case "hour":case "h":return c.diff(f,"hours");case "years":case "year":case "y":return c.diff(f,"years");default:return c.diff(f)}})};g.dateadd=function(d,e){return h(d,e,(c,f,a)=>{b.pcCheck(a,2,3,d,e);c=b.toNumber(a[1]);if(isNaN(c)||Infinity===c||-Infinity===c)return b.isTime(a[0])||b.isDateOnly(a[0])?a[0].clone():b.toDate(a[0],b.defaultTimeZone(d));f="milliseconds";switch(b.toString(a[2]).toLowerCase()){case "days":case "day":case "d":f="days";c=b.isDateOnly(a[0])?c:b.absRound(c);break; case "months":case "month":f="months";c=b.isDateOnly(a[0])?c:b.absRound(c);break;case "minutes":case "minute":case "m":f="M"===a[2]?"months":"minutes";break;case "seconds":case "second":case "s":f="seconds";break;case "milliseconds":case "millisecond":case "ms":f="milliseconds";break;case "hours":case "hour":case "h":f="hours";break;case "years":case "year":case "y":f="years"}if(b.isTime(a[0])||b.isDateOnly(a[0]))return a[0].plus(f,c);a=b.toDate(a[0],b.defaultTimeZone(d));return null===a?null:a.plus({[f]:c})})}}; Object.defineProperty(v,Symbol.toStringTag,{value:"Module"})});