@connect-soft/date-helper 0.0.6 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,6 +1,21 @@
1
1
  import dayjsInstance, { Dayjs } from 'dayjs';
2
2
 
3
3
  type IDateTimeType = Dayjs;
4
+ type FormaterOptions = {
5
+ localeMatcher?: "best fit" | "lookup";
6
+ weekday?: "long" | "short" | "narrow";
7
+ era?: "long" | "short" | "narrow";
8
+ year?: "numeric" | "2-digit";
9
+ month?: "numeric" | "2-digit" | "long" | "short" | "narrow";
10
+ day?: "numeric" | "2-digit";
11
+ hour?: "numeric" | "2-digit";
12
+ minute?: "numeric" | "2-digit";
13
+ second?: "numeric" | "2-digit";
14
+ timeZoneName?: "short" | "long" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric";
15
+ formatMatcher?: "best fit" | "basic";
16
+ hour12?: boolean;
17
+ timeZone?: string;
18
+ };
4
19
  declare class DateHelper {
5
20
  private instance;
6
21
  private constructor();
@@ -18,6 +33,10 @@ declare class DateHelper {
18
33
  getEndOfDay(update?: boolean): DateHelper;
19
34
  diff(source: IDateTimeType | Date | null | DateHelper, unit: 'days' | 'hours' | 'minutes', float?: boolean): number;
20
35
  private add;
36
+ format(format: string, defaultValue?: string | null): string | null;
37
+ formatLocalDate(locale?: string, options?: FormaterOptions): string;
38
+ formatLocalTime(locale?: string, options?: FormaterOptions): string;
39
+ formatLocalDateTime(locale?: string, options?: FormaterOptions): string;
21
40
  }
22
41
 
23
42
  export { DateHelper, type IDateTimeType };
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var o=Object.create;var a=Object.defineProperty;var p=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var b=(n,t)=>{for(var e in t)a(n,e,{get:t[e],enumerable:!0})},d=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of h(t))!D.call(n,i)&&i!==e&&a(n,i,{get:()=>t[i],enumerable:!(r=p(t,i))||r.enumerable});return n};var u=(n,t,e)=>(e=n!=null?o(y(n)):{},d(t||!n||!n.__esModule?a(e,"default",{value:n,enumerable:!0}):e,n)),T=n=>d(a({},"__esModule",{value:!0}),n);var g={};b(g,{DateHelper:()=>l});module.exports=T(g);var s=u(require("dayjs")),c=u(require("dayjs/plugin/isBetween")),m=u(require("dayjs/plugin/timezone")),f=u(require("dayjs/plugin/utc"));s.default.extend(c.default);s.default.extend(f.default);s.default.extend(m.default);var l=class n{constructor(t){this.instance=t}static fromDateTimeString(t){return new n((0,s.default)(t))}static from(t){return t?t instanceof Date?new n((0,s.default)(t)):new n((0,s.default)(t)):new n(null)}static now(){return new n((0,s.default)())}static addHours(t,e){return t===null||e===0?t:n.from(t).addHours(e).getObj()}addDays(t,e=!0){return this.add("days",t,e)}addHours(t,e=!0){return this.add("hours",t,e)}getObj(){return this.instance}isAfter(t,e="milliseconds"){return this.instance===null||t===null?0:this.instance.isAfter(t instanceof n?t.getObj():n.from(t).getObj(),e)}isEqual(t,e="milliseconds"){return this.instance===null&&t===null?!0:this.instance===null||t===null?!1:this.instance.isSame(t instanceof n?t.getObj():n.from(t).getObj(),e)}toDate(){var t,e;return(e=(t=this.instance)==null?void 0:t.toDate())!=null?e:null}getStartOfDay(t=!0){if(this.instance!==null){let e=this.instance.startOf("day");return t?(this.instance=e,this):n.from(e)}else return this}getEndOfDay(t=!0){if(this.instance!==null){let e=this.instance.endOf("day");return t?(this.instance=e,this):n.from(e)}else return this}diff(t,e,r=!0){return this.instance===null||t===null?0:this.instance.diff(t instanceof n?t.getObj():n.from(t).getObj(),e,r)}add(t,e,r=!0){if(this.instance!==null){let i=this.instance.add(e,t);return r?(this.instance=i,this):n.from(i)}else return this}};0&&(module.exports={DateHelper});
1
+ "use strict";var y=Object.create;var u=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames,m=Object.getOwnPropertySymbols,w=Object.getPrototypeOf,d=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable;var c=(n,t,e)=>t in n?u(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,s=(n,t)=>{for(var e in t||(t={}))d.call(t,e)&&c(n,e,t[e]);if(m)for(var e of m(t))j.call(t,e)&&c(n,e,t[e]);return n};var I=(n,t)=>{for(var e in t)u(n,e,{get:t[e],enumerable:!0})},f=(n,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of T(t))!d.call(n,r)&&r!==e&&u(n,r,{get:()=>t[r],enumerable:!(i=O(t,r))||i.enumerable});return n};var o=(n,t,e)=>(e=n!=null?y(w(n)):{},f(t||!n||!n.__esModule?u(e,"default",{value:n,enumerable:!0}):e,n)),F=n=>f(u({},"__esModule",{value:!0}),n);var H={};I(H,{DateHelper:()=>l});module.exports=F(H);var a=o(require("dayjs")),p=o(require("dayjs/plugin/isBetween")),h=o(require("dayjs/plugin/timezone")),D=o(require("dayjs/plugin/utc"));a.default.extend(p.default);a.default.extend(D.default);a.default.extend(h.default);var b={day:"numeric",month:"numeric",year:"numeric"},g={hour:"numeric",minute:"numeric"},x=s(s({},b),g),l=class n{constructor(t){this.instance=t}static fromDateTimeString(t){return new n((0,a.default)(t))}static from(t){return t?t instanceof Date?new n((0,a.default)(t)):new n((0,a.default)(t)):new n(null)}static now(){return new n((0,a.default)())}static addHours(t,e){return t===null||e===0?t:n.from(t).addHours(e).getObj()}addDays(t,e=!0){return this.add("days",t,e)}addHours(t,e=!0){return this.add("hours",t,e)}getObj(){return this.instance}isAfter(t,e="milliseconds"){return this.instance===null||t===null?0:this.instance.isAfter(t instanceof n?t.getObj():n.from(t).getObj(),e)}isEqual(t,e="milliseconds"){return this.instance===null&&t===null?!0:this.instance===null||t===null?!1:this.instance.isSame(t instanceof n?t.getObj():n.from(t).getObj(),e)}toDate(){var t,e;return(e=(t=this.instance)==null?void 0:t.toDate())!=null?e:null}getStartOfDay(t=!0){if(this.instance!==null){let e=this.instance.startOf("day");return t?(this.instance=e,this):n.from(e)}else return this}getEndOfDay(t=!0){if(this.instance!==null){let e=this.instance.endOf("day");return t?(this.instance=e,this):n.from(e)}else return this}diff(t,e,i=!0){return this.instance===null||t===null?0:this.instance.diff(t instanceof n?t.getObj():n.from(t).getObj(),e,i)}add(t,e,i=!0){if(this.instance!==null){let r=this.instance.add(e,t);return i?(this.instance=r,this):n.from(r)}else return this}format(t,e=null){var i,r;return(r=(i=this.instance)==null?void 0:i.format(t))!=null?r:e}formatLocalDate(t,e){let i=this.toDate();return i===null?"":new Intl.DateTimeFormat(t,s(s({},b),e)).format(i)}formatLocalTime(t,e){let i=this.toDate();return i===null?"":new Intl.DateTimeFormat(t,s(s({},g),e)).format(i)}formatLocalDateTime(t,e){let i=this.toDate();return i===null?"":new Intl.DateTimeFormat(t,s(s({},x),e)).format(i)}};0&&(module.exports={DateHelper});
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/lib/DateHelper.ts"],"sourcesContent":["export * from './lib/DateHelper';\n","import dayjsInstance, { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween'\nimport timezone from 'dayjs/plugin/timezone'\nimport utc from 'dayjs/plugin/utc'\n\ndayjsInstance.extend(isBetween);\ndayjsInstance.extend(utc);\ndayjsInstance.extend(timezone);\n\nexport type IDateTimeType = Dayjs;\n\nexport class DateHelper {\n private constructor(private instance: IDateTimeType | null) {}\n\n public static fromDateTimeString(source: string) {\n return new DateHelper(dayjsInstance(source));\n }\n\n public static from(source: Date | IDateTimeType | null | undefined) {\n if (!source) {\n return new DateHelper(null);\n }\n if (source instanceof Date) {\n return new DateHelper(dayjsInstance(source));\n }\n\n return new DateHelper(dayjsInstance(source));\n }\n\n public static now() {\n return new DateHelper(dayjsInstance());\n }\n\n public static addHours(source: IDateTimeType | Date | null, hours: number) {\n if (source === null || hours === 0) {\n return source;\n }\n\n return DateHelper.from(source).addHours(hours).getObj();\n }\n\n public addDays(days: number, update = true) {\n return this.add('days', days, update);\n }\n\n public addHours(hours: number, update = true) {\n return this.add('hours', hours, update);\n }\n\n public getObj() {\n return this.instance;\n }\n\n public isAfter(\n before: IDateTimeType | Date | null | DateHelper,\n unit:\n | 'milliseconds'\n | 'seconds'\n | 'minutes'\n | 'hours'\n | 'days'\n | 'months'\n | 'years'\n | 'dates'\n | 'weeks' = 'milliseconds'\n ) {\n if (this.instance === null || before === null) {\n return 0;\n }\n return this.instance.isAfter(\n before instanceof DateHelper ? before.getObj() : DateHelper.from(before).getObj(),\n unit\n );\n }\n\n public isEqual(\n equal: IDateTimeType | Date | null | DateHelper,\n unit:\n | 'milliseconds'\n | 'seconds'\n | 'minutes'\n | 'hours'\n | 'days'\n | 'months'\n | 'years'\n | 'dates'\n | 'weeks' = 'milliseconds'\n ) {\n if (this.instance === null && equal === null) {\n return true;\n } else if (this.instance === null || equal === null) {\n return false;\n }\n\n return this.instance.isSame(equal instanceof DateHelper ? equal.getObj() : DateHelper.from(equal).getObj(), unit);\n }\n\n public toDate() {\n return this.instance?.toDate() ?? null;\n }\n\n public getStartOfDay(update = true) {\n if (this.instance !== null) {\n const updated = this.instance.startOf('day');\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public getEndOfDay(update = true) {\n if (this.instance !== null) {\n const updated = this.instance.endOf('day');\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public diff(source: IDateTimeType | Date | null | DateHelper, unit: 'days' | 'hours' | 'minutes', float = true) {\n if (this.instance === null || source === null) {\n return 0;\n }\n return this.instance.diff(\n source instanceof DateHelper ? source.getObj() : DateHelper.from(source).getObj(),\n unit,\n float\n );\n }\n\n private add(type: 'days' | 'hours', value: number, update = true) {\n if (this.instance !== null) {\n const updated = this.instance.add(value, type);\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n}\n"],"mappings":"0jBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,gBAAAE,IAAA,eAAAC,EAAAH,GCAA,IAAAI,EAAqC,oBACrCC,EAAsB,qCACtBC,EAAqB,oCACrBC,EAAgB,+BAEhB,EAAAC,QAAc,OAAO,EAAAC,OAAS,EAC9B,EAAAD,QAAc,OAAO,EAAAE,OAAG,EACxB,EAAAF,QAAc,OAAO,EAAAG,OAAQ,EAItB,IAAMC,EAAN,MAAMC,CAAW,CACd,YAAoBC,EAAgC,CAAhC,cAAAA,CAAiC,CAE7D,OAAc,mBAAmBC,EAAgB,CAC/C,OAAO,IAAIF,KAAW,EAAAL,SAAcO,CAAM,CAAC,CAC7C,CAEA,OAAc,KAAKA,EAAiD,CAClE,OAAKA,EAGDA,aAAkB,KACb,IAAIF,KAAW,EAAAL,SAAcO,CAAM,CAAC,EAGtC,IAAIF,KAAW,EAAAL,SAAcO,CAAM,CAAC,EANlC,IAAIF,EAAW,IAAI,CAO9B,CAEA,OAAc,KAAM,CAClB,OAAO,IAAIA,KAAW,EAAAL,SAAc,CAAC,CACvC,CAEA,OAAc,SAASO,EAAqCC,EAAe,CACzE,OAAID,IAAW,MAAQC,IAAU,EACxBD,EAGFF,EAAW,KAAKE,CAAM,EAAE,SAASC,CAAK,EAAE,OAAO,CACxD,CAEO,QAAQC,EAAcC,EAAS,GAAM,CAC1C,OAAO,KAAK,IAAI,OAAQD,EAAMC,CAAM,CACtC,CAEO,SAASF,EAAeE,EAAS,GAAM,CAC5C,OAAO,KAAK,IAAI,QAASF,EAAOE,CAAM,CACxC,CAEO,QAAS,CACd,OAAO,KAAK,QACd,CAEO,QACLC,EACAC,EASc,eACd,CACA,OAAI,KAAK,WAAa,MAAQD,IAAW,KAChC,EAEF,KAAK,SAAS,QACnBA,aAAkBN,EAAaM,EAAO,OAAO,EAAIN,EAAW,KAAKM,CAAM,EAAE,OAAO,EAChFC,CACF,CACF,CAEO,QACLC,EACAD,EASc,eACd,CACA,OAAI,KAAK,WAAa,MAAQC,IAAU,KAC/B,GACE,KAAK,WAAa,MAAQA,IAAU,KACtC,GAGF,KAAK,SAAS,OAAOA,aAAiBR,EAAaQ,EAAM,OAAO,EAAIR,EAAW,KAAKQ,CAAK,EAAE,OAAO,EAAGD,CAAI,CAClH,CAEO,QAAS,CAjGlB,IAAAE,EAAAC,EAkGI,OAAOA,GAAAD,EAAA,KAAK,WAAL,YAAAA,EAAe,WAAf,KAAAC,EAA2B,IACpC,CAEO,cAAcL,EAAS,GAAM,CAClC,GAAI,KAAK,WAAa,KAAM,CAC1B,IAAMM,EAAU,KAAK,SAAS,QAAQ,KAAK,EAE3C,OAAIN,GACF,KAAK,SAAWM,EAET,MAEAX,EAAW,KAAKW,CAAO,CAElC,KACE,QAAO,IAEX,CAEO,YAAYN,EAAS,GAAM,CAChC,GAAI,KAAK,WAAa,KAAM,CAC1B,IAAMM,EAAU,KAAK,SAAS,MAAM,KAAK,EAEzC,OAAIN,GACF,KAAK,SAAWM,EAET,MAEAX,EAAW,KAAKW,CAAO,CAElC,KACE,QAAO,IAEX,CAEO,KAAKT,EAAkDK,EAAoCK,EAAQ,GAAM,CAC9G,OAAI,KAAK,WAAa,MAAQV,IAAW,KAChC,EAEF,KAAK,SAAS,KACnBA,aAAkBF,EAAaE,EAAO,OAAO,EAAIF,EAAW,KAAKE,CAAM,EAAE,OAAO,EAChFK,EACAK,CACF,CACF,CAEQ,IAAIC,EAAwBC,EAAeT,EAAS,GAAM,CAChE,GAAI,KAAK,WAAa,KAAM,CAC1B,IAAMM,EAAU,KAAK,SAAS,IAAIG,EAAOD,CAAI,EAE7C,OAAIR,GACF,KAAK,SAAWM,EAET,MAEAX,EAAW,KAAKW,CAAO,CAElC,KACE,QAAO,IAEX,CACF","names":["index_exports","__export","DateHelper","__toCommonJS","import_dayjs","import_isBetween","import_timezone","import_utc","dayjsInstance","isBetween","utc","timezone","DateHelper","_DateHelper","instance","source","hours","days","update","before","unit","equal","_a","_b","updated","float","type","value"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/lib/DateHelper.ts"],"sourcesContent":["export * from './lib/DateHelper';\n","import dayjsInstance, { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween'\nimport timezone from 'dayjs/plugin/timezone'\nimport utc from 'dayjs/plugin/utc'\n\ndayjsInstance.extend(isBetween);\ndayjsInstance.extend(utc);\ndayjsInstance.extend(timezone);\n\nexport type IDateTimeType = Dayjs;\n\ntype FormaterOptions = {\n localeMatcher?: \"best fit\" | \"lookup\";\n weekday?: \"long\" | \"short\" | \"narrow\";\n era?: \"long\" | \"short\" | \"narrow\";\n year?: \"numeric\" | \"2-digit\";\n month?: \"numeric\" | \"2-digit\" | \"long\" | \"short\" | \"narrow\";\n day?: \"numeric\" | \"2-digit\";\n hour?: \"numeric\" | \"2-digit\";\n minute?: \"numeric\" | \"2-digit\";\n second?: \"numeric\" | \"2-digit\";\n timeZoneName?: \"short\" | \"long\" | \"shortOffset\" | \"longOffset\" | \"shortGeneric\" | \"longGeneric\";\n formatMatcher?: \"best fit\" | \"basic\";\n hour12?: boolean;\n timeZone?: string;\n}\n\nconst dateOptions: FormaterOptions = {\n day: \"numeric\",month: \"numeric\", year: \"numeric\"\n}\nconst timeOptions: FormaterOptions = {\n hour: \"numeric\",minute: \"numeric\"\n}\nconst dateTimeOptions: FormaterOptions = {\n ...dateOptions,\n ...timeOptions\n}\n\nexport class DateHelper {\n private constructor(private instance: IDateTimeType | null) {}\n\n public static fromDateTimeString(source: string) {\n return new DateHelper(dayjsInstance(source));\n }\n\n public static from(source: Date | IDateTimeType | null | undefined) {\n if (!source) {\n return new DateHelper(null);\n }\n if (source instanceof Date) {\n return new DateHelper(dayjsInstance(source));\n }\n\n return new DateHelper(dayjsInstance(source));\n }\n\n public static now() {\n return new DateHelper(dayjsInstance());\n }\n\n public static addHours(source: IDateTimeType | Date | null, hours: number) {\n if (source === null || hours === 0) {\n return source;\n }\n\n return DateHelper.from(source).addHours(hours).getObj();\n }\n\n public addDays(days: number, update = true) {\n return this.add('days', days, update);\n }\n\n public addHours(hours: number, update = true) {\n return this.add('hours', hours, update);\n }\n\n public getObj() {\n return this.instance;\n }\n\n public isAfter(\n before: IDateTimeType | Date | null | DateHelper,\n unit:\n | 'milliseconds'\n | 'seconds'\n | 'minutes'\n | 'hours'\n | 'days'\n | 'months'\n | 'years'\n | 'dates'\n | 'weeks' = 'milliseconds'\n ) {\n if (this.instance === null || before === null) {\n return 0;\n }\n return this.instance.isAfter(\n before instanceof DateHelper ? before.getObj() : DateHelper.from(before).getObj(),\n unit\n );\n }\n\n public isEqual(\n equal: IDateTimeType | Date | null | DateHelper,\n unit:\n | 'milliseconds'\n | 'seconds'\n | 'minutes'\n | 'hours'\n | 'days'\n | 'months'\n | 'years'\n | 'dates'\n | 'weeks' = 'milliseconds'\n ) {\n if (this.instance === null && equal === null) {\n return true;\n } else if (this.instance === null || equal === null) {\n return false;\n }\n\n return this.instance.isSame(equal instanceof DateHelper ? equal.getObj() : DateHelper.from(equal).getObj(), unit);\n }\n\n public toDate() {\n return this.instance?.toDate() ?? null;\n }\n\n public getStartOfDay(update = true) {\n if (this.instance !== null) {\n const updated = this.instance.startOf('day');\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public getEndOfDay(update = true) {\n if (this.instance !== null) {\n const updated = this.instance.endOf('day');\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public diff(source: IDateTimeType | Date | null | DateHelper, unit: 'days' | 'hours' | 'minutes', float = true) {\n if (this.instance === null || source === null) {\n return 0;\n }\n return this.instance.diff(\n source instanceof DateHelper ? source.getObj() : DateHelper.from(source).getObj(),\n unit,\n float\n );\n }\n\n private add(type: 'days' | 'hours', value: number, update = true) {\n if (this.instance !== null) {\n const updated = this.instance.add(value, type);\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public format(format: string, defaultValue:string |null= null) {\n return this.instance?.format(format) ?? defaultValue\n }\n\n public formatLocalDate(locale?: string, options?: FormaterOptions) {\n const date = this.toDate();\n if (date === null) {\n return \"\"\n }\n return new Intl.DateTimeFormat(locale, {...dateOptions, ...options}).format(date)\n }\n\n public formatLocalTime(locale?: string, options?: FormaterOptions) {\n const date = this.toDate();\n if (date === null) {\n return \"\"\n }\n return new Intl.DateTimeFormat(locale, {...timeOptions, ...options}).format(date)\n }\n\n public formatLocalDateTime(locale?: string, options?: FormaterOptions) {\n const date = this.toDate();\n if (date === null) {\n return \"\"\n }\n return new Intl.DateTimeFormat(locale, {...dateTimeOptions, ...options}).format(date)\n }\n}\n"],"mappings":"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","names":["index_exports","__export","DateHelper","__toCommonJS","import_dayjs","import_isBetween","import_timezone","import_utc","dayjsInstance","isBetween","utc","timezone","dateOptions","timeOptions","dateTimeOptions","__spreadValues","DateHelper","_DateHelper","instance","source","hours","days","update","before","unit","equal","_a","_b","updated","float","type","value","format","defaultValue","locale","options","date"]}
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import i from"dayjs";import u from"dayjs/plugin/isBetween";import l from"dayjs/plugin/timezone";import d from"dayjs/plugin/utc";i.extend(u);i.extend(d);i.extend(l);var a=class n{constructor(t){this.instance=t}static fromDateTimeString(t){return new n(i(t))}static from(t){return t?t instanceof Date?new n(i(t)):new n(i(t)):new n(null)}static now(){return new n(i())}static addHours(t,e){return t===null||e===0?t:n.from(t).addHours(e).getObj()}addDays(t,e=!0){return this.add("days",t,e)}addHours(t,e=!0){return this.add("hours",t,e)}getObj(){return this.instance}isAfter(t,e="milliseconds"){return this.instance===null||t===null?0:this.instance.isAfter(t instanceof n?t.getObj():n.from(t).getObj(),e)}isEqual(t,e="milliseconds"){return this.instance===null&&t===null?!0:this.instance===null||t===null?!1:this.instance.isSame(t instanceof n?t.getObj():n.from(t).getObj(),e)}toDate(){var t,e;return(e=(t=this.instance)==null?void 0:t.toDate())!=null?e:null}getStartOfDay(t=!0){if(this.instance!==null){let e=this.instance.startOf("day");return t?(this.instance=e,this):n.from(e)}else return this}getEndOfDay(t=!0){if(this.instance!==null){let e=this.instance.endOf("day");return t?(this.instance=e,this):n.from(e)}else return this}diff(t,e,s=!0){return this.instance===null||t===null?0:this.instance.diff(t instanceof n?t.getObj():n.from(t).getObj(),e,s)}add(t,e,s=!0){if(this.instance!==null){let r=this.instance.add(e,t);return s?(this.instance=r,this):n.from(r)}else return this}};export{a as DateHelper};
1
+ var d=Object.defineProperty;var u=Object.getOwnPropertySymbols;var f=Object.prototype.hasOwnProperty,p=Object.prototype.propertyIsEnumerable;var o=(n,t,e)=>t in n?d(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e,r=(n,t)=>{for(var e in t||(t={}))f.call(t,e)&&o(n,e,t[e]);if(u)for(var e of u(t))p.call(t,e)&&o(n,e,t[e]);return n};import s from"dayjs";import h from"dayjs/plugin/isBetween";import D from"dayjs/plugin/timezone";import b from"dayjs/plugin/utc";s.extend(h);s.extend(b);s.extend(D);var m={day:"numeric",month:"numeric",year:"numeric"},c={hour:"numeric",minute:"numeric"},g=r(r({},m),c),l=class n{constructor(t){this.instance=t}static fromDateTimeString(t){return new n(s(t))}static from(t){return t?t instanceof Date?new n(s(t)):new n(s(t)):new n(null)}static now(){return new n(s())}static addHours(t,e){return t===null||e===0?t:n.from(t).addHours(e).getObj()}addDays(t,e=!0){return this.add("days",t,e)}addHours(t,e=!0){return this.add("hours",t,e)}getObj(){return this.instance}isAfter(t,e="milliseconds"){return this.instance===null||t===null?0:this.instance.isAfter(t instanceof n?t.getObj():n.from(t).getObj(),e)}isEqual(t,e="milliseconds"){return this.instance===null&&t===null?!0:this.instance===null||t===null?!1:this.instance.isSame(t instanceof n?t.getObj():n.from(t).getObj(),e)}toDate(){var t,e;return(e=(t=this.instance)==null?void 0:t.toDate())!=null?e:null}getStartOfDay(t=!0){if(this.instance!==null){let e=this.instance.startOf("day");return t?(this.instance=e,this):n.from(e)}else return this}getEndOfDay(t=!0){if(this.instance!==null){let e=this.instance.endOf("day");return t?(this.instance=e,this):n.from(e)}else return this}diff(t,e,i=!0){return this.instance===null||t===null?0:this.instance.diff(t instanceof n?t.getObj():n.from(t).getObj(),e,i)}add(t,e,i=!0){if(this.instance!==null){let a=this.instance.add(e,t);return i?(this.instance=a,this):n.from(a)}else return this}format(t,e=null){var i,a;return(a=(i=this.instance)==null?void 0:i.format(t))!=null?a:e}formatLocalDate(t,e){let i=this.toDate();return i===null?"":new Intl.DateTimeFormat(t,r(r({},m),e)).format(i)}formatLocalTime(t,e){let i=this.toDate();return i===null?"":new Intl.DateTimeFormat(t,r(r({},c),e)).format(i)}formatLocalDateTime(t,e){let i=this.toDate();return i===null?"":new Intl.DateTimeFormat(t,r(r({},g),e)).format(i)}};export{l as DateHelper};
2
2
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/DateHelper.ts"],"sourcesContent":["import dayjsInstance, { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween'\nimport timezone from 'dayjs/plugin/timezone'\nimport utc from 'dayjs/plugin/utc'\n\ndayjsInstance.extend(isBetween);\ndayjsInstance.extend(utc);\ndayjsInstance.extend(timezone);\n\nexport type IDateTimeType = Dayjs;\n\nexport class DateHelper {\n private constructor(private instance: IDateTimeType | null) {}\n\n public static fromDateTimeString(source: string) {\n return new DateHelper(dayjsInstance(source));\n }\n\n public static from(source: Date | IDateTimeType | null | undefined) {\n if (!source) {\n return new DateHelper(null);\n }\n if (source instanceof Date) {\n return new DateHelper(dayjsInstance(source));\n }\n\n return new DateHelper(dayjsInstance(source));\n }\n\n public static now() {\n return new DateHelper(dayjsInstance());\n }\n\n public static addHours(source: IDateTimeType | Date | null, hours: number) {\n if (source === null || hours === 0) {\n return source;\n }\n\n return DateHelper.from(source).addHours(hours).getObj();\n }\n\n public addDays(days: number, update = true) {\n return this.add('days', days, update);\n }\n\n public addHours(hours: number, update = true) {\n return this.add('hours', hours, update);\n }\n\n public getObj() {\n return this.instance;\n }\n\n public isAfter(\n before: IDateTimeType | Date | null | DateHelper,\n unit:\n | 'milliseconds'\n | 'seconds'\n | 'minutes'\n | 'hours'\n | 'days'\n | 'months'\n | 'years'\n | 'dates'\n | 'weeks' = 'milliseconds'\n ) {\n if (this.instance === null || before === null) {\n return 0;\n }\n return this.instance.isAfter(\n before instanceof DateHelper ? before.getObj() : DateHelper.from(before).getObj(),\n unit\n );\n }\n\n public isEqual(\n equal: IDateTimeType | Date | null | DateHelper,\n unit:\n | 'milliseconds'\n | 'seconds'\n | 'minutes'\n | 'hours'\n | 'days'\n | 'months'\n | 'years'\n | 'dates'\n | 'weeks' = 'milliseconds'\n ) {\n if (this.instance === null && equal === null) {\n return true;\n } else if (this.instance === null || equal === null) {\n return false;\n }\n\n return this.instance.isSame(equal instanceof DateHelper ? equal.getObj() : DateHelper.from(equal).getObj(), unit);\n }\n\n public toDate() {\n return this.instance?.toDate() ?? null;\n }\n\n public getStartOfDay(update = true) {\n if (this.instance !== null) {\n const updated = this.instance.startOf('day');\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public getEndOfDay(update = true) {\n if (this.instance !== null) {\n const updated = this.instance.endOf('day');\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public diff(source: IDateTimeType | Date | null | DateHelper, unit: 'days' | 'hours' | 'minutes', float = true) {\n if (this.instance === null || source === null) {\n return 0;\n }\n return this.instance.diff(\n source instanceof DateHelper ? source.getObj() : DateHelper.from(source).getObj(),\n unit,\n float\n );\n }\n\n private add(type: 'days' | 'hours', value: number, update = true) {\n if (this.instance !== null) {\n const updated = this.instance.add(value, type);\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n}\n"],"mappings":"AAAA,OAAOA,MAA8B,QACrC,OAAOC,MAAe,yBACtB,OAAOC,MAAc,wBACrB,OAAOC,MAAS,mBAEhBH,EAAc,OAAOC,CAAS,EAC9BD,EAAc,OAAOG,CAAG,EACxBH,EAAc,OAAOE,CAAQ,EAItB,IAAME,EAAN,MAAMC,CAAW,CACd,YAAoBC,EAAgC,CAAhC,cAAAA,CAAiC,CAE7D,OAAc,mBAAmBC,EAAgB,CAC/C,OAAO,IAAIF,EAAWL,EAAcO,CAAM,CAAC,CAC7C,CAEA,OAAc,KAAKA,EAAiD,CAClE,OAAKA,EAGDA,aAAkB,KACb,IAAIF,EAAWL,EAAcO,CAAM,CAAC,EAGtC,IAAIF,EAAWL,EAAcO,CAAM,CAAC,EANlC,IAAIF,EAAW,IAAI,CAO9B,CAEA,OAAc,KAAM,CAClB,OAAO,IAAIA,EAAWL,EAAc,CAAC,CACvC,CAEA,OAAc,SAASO,EAAqCC,EAAe,CACzE,OAAID,IAAW,MAAQC,IAAU,EACxBD,EAGFF,EAAW,KAAKE,CAAM,EAAE,SAASC,CAAK,EAAE,OAAO,CACxD,CAEO,QAAQC,EAAcC,EAAS,GAAM,CAC1C,OAAO,KAAK,IAAI,OAAQD,EAAMC,CAAM,CACtC,CAEO,SAASF,EAAeE,EAAS,GAAM,CAC5C,OAAO,KAAK,IAAI,QAASF,EAAOE,CAAM,CACxC,CAEO,QAAS,CACd,OAAO,KAAK,QACd,CAEO,QACLC,EACAC,EASc,eACd,CACA,OAAI,KAAK,WAAa,MAAQD,IAAW,KAChC,EAEF,KAAK,SAAS,QACnBA,aAAkBN,EAAaM,EAAO,OAAO,EAAIN,EAAW,KAAKM,CAAM,EAAE,OAAO,EAChFC,CACF,CACF,CAEO,QACLC,EACAD,EASc,eACd,CACA,OAAI,KAAK,WAAa,MAAQC,IAAU,KAC/B,GACE,KAAK,WAAa,MAAQA,IAAU,KACtC,GAGF,KAAK,SAAS,OAAOA,aAAiBR,EAAaQ,EAAM,OAAO,EAAIR,EAAW,KAAKQ,CAAK,EAAE,OAAO,EAAGD,CAAI,CAClH,CAEO,QAAS,CAjGlB,IAAAE,EAAAC,EAkGI,OAAOA,GAAAD,EAAA,KAAK,WAAL,YAAAA,EAAe,WAAf,KAAAC,EAA2B,IACpC,CAEO,cAAcL,EAAS,GAAM,CAClC,GAAI,KAAK,WAAa,KAAM,CAC1B,IAAMM,EAAU,KAAK,SAAS,QAAQ,KAAK,EAE3C,OAAIN,GACF,KAAK,SAAWM,EAET,MAEAX,EAAW,KAAKW,CAAO,CAElC,KACE,QAAO,IAEX,CAEO,YAAYN,EAAS,GAAM,CAChC,GAAI,KAAK,WAAa,KAAM,CAC1B,IAAMM,EAAU,KAAK,SAAS,MAAM,KAAK,EAEzC,OAAIN,GACF,KAAK,SAAWM,EAET,MAEAX,EAAW,KAAKW,CAAO,CAElC,KACE,QAAO,IAEX,CAEO,KAAKT,EAAkDK,EAAoCK,EAAQ,GAAM,CAC9G,OAAI,KAAK,WAAa,MAAQV,IAAW,KAChC,EAEF,KAAK,SAAS,KACnBA,aAAkBF,EAAaE,EAAO,OAAO,EAAIF,EAAW,KAAKE,CAAM,EAAE,OAAO,EAChFK,EACAK,CACF,CACF,CAEQ,IAAIC,EAAwBC,EAAeT,EAAS,GAAM,CAChE,GAAI,KAAK,WAAa,KAAM,CAC1B,IAAMM,EAAU,KAAK,SAAS,IAAIG,EAAOD,CAAI,EAE7C,OAAIR,GACF,KAAK,SAAWM,EAET,MAEAX,EAAW,KAAKW,CAAO,CAElC,KACE,QAAO,IAEX,CACF","names":["dayjsInstance","isBetween","timezone","utc","DateHelper","_DateHelper","instance","source","hours","days","update","before","unit","equal","_a","_b","updated","float","type","value"]}
1
+ {"version":3,"sources":["../src/lib/DateHelper.ts"],"sourcesContent":["import dayjsInstance, { Dayjs } from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween'\nimport timezone from 'dayjs/plugin/timezone'\nimport utc from 'dayjs/plugin/utc'\n\ndayjsInstance.extend(isBetween);\ndayjsInstance.extend(utc);\ndayjsInstance.extend(timezone);\n\nexport type IDateTimeType = Dayjs;\n\ntype FormaterOptions = {\n localeMatcher?: \"best fit\" | \"lookup\";\n weekday?: \"long\" | \"short\" | \"narrow\";\n era?: \"long\" | \"short\" | \"narrow\";\n year?: \"numeric\" | \"2-digit\";\n month?: \"numeric\" | \"2-digit\" | \"long\" | \"short\" | \"narrow\";\n day?: \"numeric\" | \"2-digit\";\n hour?: \"numeric\" | \"2-digit\";\n minute?: \"numeric\" | \"2-digit\";\n second?: \"numeric\" | \"2-digit\";\n timeZoneName?: \"short\" | \"long\" | \"shortOffset\" | \"longOffset\" | \"shortGeneric\" | \"longGeneric\";\n formatMatcher?: \"best fit\" | \"basic\";\n hour12?: boolean;\n timeZone?: string;\n}\n\nconst dateOptions: FormaterOptions = {\n day: \"numeric\",month: \"numeric\", year: \"numeric\"\n}\nconst timeOptions: FormaterOptions = {\n hour: \"numeric\",minute: \"numeric\"\n}\nconst dateTimeOptions: FormaterOptions = {\n ...dateOptions,\n ...timeOptions\n}\n\nexport class DateHelper {\n private constructor(private instance: IDateTimeType | null) {}\n\n public static fromDateTimeString(source: string) {\n return new DateHelper(dayjsInstance(source));\n }\n\n public static from(source: Date | IDateTimeType | null | undefined) {\n if (!source) {\n return new DateHelper(null);\n }\n if (source instanceof Date) {\n return new DateHelper(dayjsInstance(source));\n }\n\n return new DateHelper(dayjsInstance(source));\n }\n\n public static now() {\n return new DateHelper(dayjsInstance());\n }\n\n public static addHours(source: IDateTimeType | Date | null, hours: number) {\n if (source === null || hours === 0) {\n return source;\n }\n\n return DateHelper.from(source).addHours(hours).getObj();\n }\n\n public addDays(days: number, update = true) {\n return this.add('days', days, update);\n }\n\n public addHours(hours: number, update = true) {\n return this.add('hours', hours, update);\n }\n\n public getObj() {\n return this.instance;\n }\n\n public isAfter(\n before: IDateTimeType | Date | null | DateHelper,\n unit:\n | 'milliseconds'\n | 'seconds'\n | 'minutes'\n | 'hours'\n | 'days'\n | 'months'\n | 'years'\n | 'dates'\n | 'weeks' = 'milliseconds'\n ) {\n if (this.instance === null || before === null) {\n return 0;\n }\n return this.instance.isAfter(\n before instanceof DateHelper ? before.getObj() : DateHelper.from(before).getObj(),\n unit\n );\n }\n\n public isEqual(\n equal: IDateTimeType | Date | null | DateHelper,\n unit:\n | 'milliseconds'\n | 'seconds'\n | 'minutes'\n | 'hours'\n | 'days'\n | 'months'\n | 'years'\n | 'dates'\n | 'weeks' = 'milliseconds'\n ) {\n if (this.instance === null && equal === null) {\n return true;\n } else if (this.instance === null || equal === null) {\n return false;\n }\n\n return this.instance.isSame(equal instanceof DateHelper ? equal.getObj() : DateHelper.from(equal).getObj(), unit);\n }\n\n public toDate() {\n return this.instance?.toDate() ?? null;\n }\n\n public getStartOfDay(update = true) {\n if (this.instance !== null) {\n const updated = this.instance.startOf('day');\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public getEndOfDay(update = true) {\n if (this.instance !== null) {\n const updated = this.instance.endOf('day');\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public diff(source: IDateTimeType | Date | null | DateHelper, unit: 'days' | 'hours' | 'minutes', float = true) {\n if (this.instance === null || source === null) {\n return 0;\n }\n return this.instance.diff(\n source instanceof DateHelper ? source.getObj() : DateHelper.from(source).getObj(),\n unit,\n float\n );\n }\n\n private add(type: 'days' | 'hours', value: number, update = true) {\n if (this.instance !== null) {\n const updated = this.instance.add(value, type);\n\n if (update) {\n this.instance = updated;\n\n return this;\n } else {\n return DateHelper.from(updated);\n }\n } else {\n return this;\n }\n }\n\n public format(format: string, defaultValue:string |null= null) {\n return this.instance?.format(format) ?? defaultValue\n }\n\n public formatLocalDate(locale?: string, options?: FormaterOptions) {\n const date = this.toDate();\n if (date === null) {\n return \"\"\n }\n return new Intl.DateTimeFormat(locale, {...dateOptions, ...options}).format(date)\n }\n\n public formatLocalTime(locale?: string, options?: FormaterOptions) {\n const date = this.toDate();\n if (date === null) {\n return \"\"\n }\n return new Intl.DateTimeFormat(locale, {...timeOptions, ...options}).format(date)\n }\n\n public formatLocalDateTime(locale?: string, options?: FormaterOptions) {\n const date = this.toDate();\n if (date === null) {\n return \"\"\n }\n return new Intl.DateTimeFormat(locale, {...dateTimeOptions, ...options}).format(date)\n }\n}\n"],"mappings":"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","names":["dayjsInstance","isBetween","timezone","utc","dayjsInstance","isBetween","utc","timezone","dateOptions","timeOptions","dateTimeOptions","__spreadValues","DateHelper","_DateHelper","instance","source","hours","days","update","before","unit","equal","_a","_b","updated","float","type","value","format","defaultValue","locale","options","date"]}
@@ -1,5 +1,20 @@
1
1
  import dayjsInstance, { Dayjs } from 'dayjs';
2
2
  export type IDateTimeType = Dayjs;
3
+ type FormaterOptions = {
4
+ localeMatcher?: "best fit" | "lookup";
5
+ weekday?: "long" | "short" | "narrow";
6
+ era?: "long" | "short" | "narrow";
7
+ year?: "numeric" | "2-digit";
8
+ month?: "numeric" | "2-digit" | "long" | "short" | "narrow";
9
+ day?: "numeric" | "2-digit";
10
+ hour?: "numeric" | "2-digit";
11
+ minute?: "numeric" | "2-digit";
12
+ second?: "numeric" | "2-digit";
13
+ timeZoneName?: "short" | "long" | "shortOffset" | "longOffset" | "shortGeneric" | "longGeneric";
14
+ formatMatcher?: "best fit" | "basic";
15
+ hour12?: boolean;
16
+ timeZone?: string;
17
+ };
3
18
  export declare class DateHelper {
4
19
  private instance;
5
20
  private constructor();
@@ -17,4 +32,9 @@ export declare class DateHelper {
17
32
  getEndOfDay(update?: boolean): DateHelper;
18
33
  diff(source: IDateTimeType | Date | null | DateHelper, unit: 'days' | 'hours' | 'minutes', float?: boolean): number;
19
34
  private add;
35
+ format(format: string, defaultValue?: string | null): string | null;
36
+ formatLocalDate(locale?: string, options?: FormaterOptions): string;
37
+ formatLocalTime(locale?: string, options?: FormaterOptions): string;
38
+ formatLocalDateTime(locale?: string, options?: FormaterOptions): string;
20
39
  }
40
+ export {};
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@connect-soft/date-helper",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": {
7
- "types": "./dist/index.d.ts",
8
7
  "import": "./dist/index.mjs",
9
- "require": "./dist/index.cjs"
8
+ "require": "./dist/index.cjs",
9
+ "types": "./dist/index.d.ts"
10
10
  }
11
11
  },
12
12
  "main": "./dist/index.cjs",
@@ -16,26 +16,26 @@
16
16
  "dist",
17
17
  "README.md"
18
18
  ],
19
- "scripts": {
20
- "clean": "rm -fr dist",
21
- "types": "tsc --outDir dist",
22
- "build": "yarn types && tsup src/index.ts --format esm,cjs --dts --minify --outDir dist --sourcemap",
23
- "sort": "sortjson"
24
- },
25
19
  "devDependencies": {
20
+ "@jest/globals": "30.2.0",
26
21
  "@swc/core": "^1.11.18",
22
+ "@types/jest": "30.0.0",
27
23
  "dayjs": "^1.11.13",
28
24
  "husky": "^9.1.7",
25
+ "jest": "30.2.0",
29
26
  "json-sort-cli": "^4.0.9",
27
+ "ts-jest": "29.4.6",
28
+ "ts-node": "10.9.2",
30
29
  "tsup": "^8.4.0",
31
30
  "typescript": "^5.8.3"
32
31
  },
33
32
  "peerDependencies": {
34
33
  "dayjs": "^1.11.13"
35
34
  },
36
- "publishConfig": {
37
- "access": "public",
38
- "directory": "dist"
39
- },
40
- "packageManager": "yarn@3.8.7"
35
+ "scripts": {
36
+ "build": "pnpm types && tsup src/index.ts --format esm,cjs --dts --minify --outDir dist --sourcemap",
37
+ "clean": "rm -fr dist",
38
+ "sort": "sortjson",
39
+ "types": "tsc --outDir dist"
40
+ }
41
41
  }
package/CHANGELOG.md DELETED
@@ -1 +0,0 @@
1
- # Versions