UNPKG

dk-plus

Version:
2 lines (1 loc) 1.38 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const o=e=>String(e).padStart(2,"0"),T=(e,s)=>{const t={YYYY:String(e.getFullYear()),MM:o(e.getMonth()+1),DD:o(e.getDate()),HH:o(e.getHours()),mm:o(e.getMinutes()),ss:o(e.getSeconds())};return s.replace(/YYYY/g,t.YYYY).replace(/MM/g,t.MM).replace(/DD/g,t.DD).replace(/HH/g,t.HH).replace(/mm/g,t.mm).replace(/ss/g,t.ss)},P=(e,s)=>{var D,M,f,H,d,S;const t=String(e!=null?e:"").trim();if(!t)return null;const y=s.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),N={YYYY:"(\\d{4})",MM:"(\\d{2})",DD:"(\\d{2})",HH:"(\\d{2})",mm:"(\\d{2})",ss:"(\\d{2})"},c=[],b=y.replace(/YYYY|MM|DD|HH|mm|ss/g,u=>(c.push(u),N[u])),l=new RegExp(`^${b}$`).exec(t);if(!l)return null;const r={};c.forEach((u,h)=>{r[u]=Number(l[h+1])});const g=(D=r.YYYY)!=null?D:new Date().getFullYear(),a=((M=r.MM)!=null?M:1)-1,i=(f=r.DD)!=null?f:1,Y=(H=r.HH)!=null?H:0,m=(d=r.mm)!=null?d:0,p=(S=r.ss)!=null?S:0,n=new Date(g,a,i,Y,m,p);return n.getFullYear()!==g||n.getMonth()!==a||n.getDate()!==i||n.getHours()!==Y||n.getMinutes()!==m||n.getSeconds()!==p?null:n},w=e=>{if(e==null)return null;if(e instanceof Date)return Number.isNaN(e.getTime())?null:e;if(typeof e=="number"){const s=new Date(e);return Number.isNaN(s.getTime())?null:s}return null};exports.coerceToDate=w;exports.formatByPattern=T;exports.parseByPattern=P;