@midseelee/date-fns-buddhist-adapter 1.0.1 → 1.0.3

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/README.md CHANGED
@@ -1,3 +1,7 @@
1
+ ```
2
+
3
+ ```
4
+
1
5
  # @midseelee/date-fns-buddhist-adapter
2
6
 
3
7
  > Forked from [ascendcorp/date-fns-buddhist-adapter](https://github.com/ascendcorp/date-fns-buddhist-adapter)
@@ -17,15 +21,18 @@ bun add @midseelee/date-fns-buddhist-adapter
17
21
  ## Usage
18
22
 
19
23
  ```typescript
20
- import AdapterDateFns from '@midseelee/date-fns-buddhist-adapter'
21
24
  import { LocalizationProvider } from '@mui/x-date-pickers'
22
25
  import { DatePicker } from '@mui/x-date-pickers/DatePicker'
23
- import { thTH } from 'date-fns/locale/th-TH'
26
+ import { th } from 'date-fns/locale/th'
27
+ import AdapterDateFns from '@midseelee/date-fns-buddhist-adapter'
24
28
 
25
29
  function App() {
26
30
  return (
27
- <LocalizationProvider dateAdapter={AdapterDateFns} adapterLocale={thTH}>
28
- <DatePicker />
31
+ <LocalizationProvider
32
+ dateAdapter={AdapterDateFns}
33
+ adapterLocale={th}
34
+ >
35
+ <DatePicker label="วันที่ (พ.ศ.)" />
29
36
  </LocalizationProvider>
30
37
  )
31
38
  }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,69 @@
1
+ import { th } from 'date-fns/locale';
2
+ import AdapterDateFns from '..';
3
+ describe('AdapterDateFns', () => {
4
+ describe('Default locale', () => {
5
+ const adapter = new AdapterDateFns();
6
+ let date;
7
+ beforeEach(() => {
8
+ date = adapter.date('2023-06-09T23:44:00.000Z');
9
+ });
10
+ it('getWeekdays: should start on Sunday', () => {
11
+ const result = adapter.getWeekdays();
12
+ expect(result).toStrictEqual(['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa']);
13
+ });
14
+ it('getWeekArray: should start on Sunday', () => {
15
+ const result = adapter.getWeekArray(date);
16
+ expect(adapter.formatByString(result[0][0], 'EEEEEE')).toEqual('Su');
17
+ });
18
+ it('is12HourCycleInCurrentLocale: should have meridiem', () => {
19
+ expect(adapter.is12HourCycleInCurrentLocale()).toEqual(true);
20
+ });
21
+ it('should formatting correctly', () => {
22
+ const expectDate = (format, expected) => {
23
+ expect(adapter.format(date, format)).toEqual(expected);
24
+ };
25
+ expectDate('fullDate', 'Jun 10, 2566');
26
+ expectDate('fullDateWithWeekday', 'Saturday, June 10th, 2566');
27
+ expectDate('fullDateTime', 'Jun 10, 2566 6:44 AM');
28
+ expectDate('fullDateTime12h', 'Jun 10, 2566 06:44 am');
29
+ expectDate('fullDateTime24h', 'Jun 10, 2566 06:44');
30
+ expectDate('keyboardDate', '06/10/2566');
31
+ expectDate('keyboardDateTime', '06/10/2566 6:44 AM');
32
+ expectDate('keyboardDateTime12h', '06/10/2566 06:44 am');
33
+ expectDate('keyboardDateTime24h', '06/10/2566 06:44');
34
+ });
35
+ });
36
+ describe('TH locale', () => {
37
+ const adapter = new AdapterDateFns({ locale: th });
38
+ let date;
39
+ beforeEach(() => {
40
+ date = adapter.date('2023-06-09T23:44:00.000Z');
41
+ });
42
+ it('getWeekdays: should start on วันอาทิตย์', () => {
43
+ const result = adapter.getWeekdays();
44
+ expect(result).toStrictEqual(['อา.', 'จ.', 'อ.', 'พ.', 'พฤ.', 'ศ.', 'ส.']);
45
+ });
46
+ it('getWeekArray: should start on วันอาทิตย์', () => {
47
+ const result = adapter.getWeekArray(date);
48
+ expect(adapter.formatByString(result[0][0], 'EEEEEE')).toEqual('อา.');
49
+ });
50
+ it('is12HourCycleInCurrentLocale: should have not meridiem', () => {
51
+ expect(adapter.is12HourCycleInCurrentLocale()).toEqual(false);
52
+ });
53
+ it('should formatting correctly', () => {
54
+ const expectDate = (format, expected) => {
55
+ expect(adapter.format(date, format)).toEqual(expected);
56
+ };
57
+ expectDate('fullDate', '10 มิ.ย. 2566');
58
+ expectDate('fullDateWithWeekday', 'วันเสาร์ที่ 10 มิถุนายน 2566');
59
+ expectDate('fullDateTime', '10 มิ.ย. 2566 6:44 น.');
60
+ expectDate('fullDateTime12h', '10 มิ.ย. 2566 06:44 ก่อนเที่ยง');
61
+ expectDate('fullDateTime24h', '10 มิ.ย. 2566 06:44');
62
+ expectDate('keyboardDate', '10/06/2566');
63
+ expectDate('keyboardDateTime', '10/06/2566 6:44 น.');
64
+ expectDate('keyboardDateTime12h', '10/06/2566 06:44 ก่อนเที่ยง');
65
+ expectDate('keyboardDateTime24h', '10/06/2566 06:44');
66
+ });
67
+ });
68
+ });
69
+ //# sourceMappingURL=index.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../src/__tests__/index.spec.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { enUS as defaultLocale } from 'date-fns/locale/en-US';
2
- import type { AdapterFormats, AdapterOptions, AdapterUnits, FieldFormatTokenMap, MuiPickersAdapter } from './models';
2
+ import type { AdapterFormats, AdapterOptions, AdapterUnits, DateBuilderReturnType, FieldFormatTokenMap, MuiPickersAdapter } from './models';
3
3
  type DateFnsLocale = typeof defaultLocale;
4
4
  export default class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLocale> {
5
5
  isMUIAdapter: boolean;
@@ -12,7 +12,7 @@ export default class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
12
12
  start: string;
13
13
  end: string;
14
14
  };
15
- constructor({ locale, formats }?: AdapterOptions<DateFnsLocale, never>);
15
+ constructor(options?: AdapterOptions<DateFnsLocale, never>);
16
16
  is12HourCycleInCurrentLocale: () => boolean;
17
17
  expandFormat: (format: string) => string;
18
18
  getFormatHelperText: (format: string) => string;
@@ -26,7 +26,7 @@ export default class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
26
26
  addWeeks: (value: Date, count: number) => Date;
27
27
  addMonths: (value: Date, count: number) => Date;
28
28
  addYears: (value: Date, amount: number) => Date;
29
- isValid: (value: any) => boolean;
29
+ isValid: (value: any) => value is Date;
30
30
  getDiff: (value: Date, comparing: Date | string, unit?: AdapterUnits) => number;
31
31
  isAfter: (value: Date, comparing: Date) => boolean;
32
32
  isBefore: (value: Date, comparing: Date) => boolean;
@@ -51,7 +51,7 @@ export default class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
51
51
  endOfYear: (value: Date) => Date;
52
52
  getYear: (value: Date) => number;
53
53
  setYear: (value: Date, count: number) => Date;
54
- date: (value?: any) => Date | null;
54
+ date: <T extends string | null | undefined = undefined>(value?: T) => DateBuilderReturnType<T, Date>;
55
55
  dateWithTimezone: (value: string | null | undefined) => Date | null;
56
56
  getTimezone: () => string;
57
57
  setTimezone: (value: Date) => Date;
@@ -70,6 +70,8 @@ export default class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
70
70
  getMinutes: (date: Date) => number;
71
71
  getDate: (value: Date) => number;
72
72
  getMonth: (date: Date) => number;
73
+ getDayOfWeek: (date: Date) => number;
74
+ getInvalidDate: () => Date;
73
75
  getDaysInMonth: (date: Date) => number;
74
76
  setMonth: (date: Date, count: number) => Date;
75
77
  setDate: (value: Date, date: number) => Date;
@@ -81,6 +83,6 @@ export default class AdapterDateFns implements MuiPickersAdapter<Date, DateFnsLo
81
83
  getWeekdays: () => string[];
82
84
  getWeekArray: (date: Date) => Date[][];
83
85
  getWeekNumber: (value: Date) => number;
84
- getYearRange: (start: Date, end: Date) => Date[];
86
+ getYearRange: (range: [Date, Date]) => Date[];
85
87
  }
86
88
  export {};
package/dist/index.js CHANGED
@@ -1,5 +1,4 @@
1
1
  import { addDays, addHours, addMinutes, addMonths, addSeconds, addWeeks, addYears, differenceInDays, differenceInHours, differenceInMilliseconds, differenceInMinutes, differenceInMonths, differenceInQuarters, differenceInSeconds, differenceInWeeks, differenceInYears, eachDayOfInterval, endOfDay, endOfMonth, endOfWeek, endOfYear, format, formatISO, getDate, getDay, getDaysInMonth, getHours, getMilliseconds, getSeconds, getWeek, getYear, isAfter, isBefore, isEqual, isSameDay, isSameHour, isSameMonth, isSameYear, isValid, isWithinInterval, parse as dateFnsParse, parseISO, setDate, setHours, setMilliseconds, setMinutes, setMonth, setSeconds, setYear, startOfDay, startOfMonth, startOfWeek, startOfYear, } from 'date-fns';
2
- import { enUS as defaultLocale } from 'date-fns/locale/en-US';
3
2
  const formatTokenMap = {
4
3
  // Year
5
4
  y: { sectionType: 'year', contentType: 'digit', maxLength: 4 },
@@ -59,6 +58,7 @@ const formatTokenMap = {
59
58
  };
60
59
  const defaultFormats = {
61
60
  dayOfMonth: 'd',
61
+ dayOfMonthFull: 'dd',
62
62
  fullDate: 'PP',
63
63
  fullDateWithWeekday: 'PPPP',
64
64
  fullDateTime: 'PP p',
@@ -94,7 +94,8 @@ export default class AdapterDateFns {
94
94
  formats;
95
95
  formatTokenMap = formatTokenMap;
96
96
  escapedCharacters = { start: "'", end: "'" };
97
- constructor({ locale, formats } = {}) {
97
+ constructor(options) {
98
+ const { locale, formats } = options || {};
98
99
  this.locale = locale;
99
100
  this.formats = { ...defaultFormats, ...formats, meridiem: '' };
100
101
  }
@@ -115,7 +116,6 @@ export default class AdapterDateFns {
115
116
  .map((token) => {
116
117
  const firstCharacter = token[0];
117
118
  if (firstCharacter === 'p' || firstCharacter === 'P') {
118
- const locale = this.locale || defaultLocale;
119
119
  // Use the locale's format function to expand format strings
120
120
  return this.formatByString(new Date(), token);
121
121
  }
@@ -174,25 +174,28 @@ export default class AdapterDateFns {
174
174
  return isValid(this.date(value));
175
175
  };
176
176
  getDiff = (value, comparing, unit) => {
177
+ const comparingDate = comparing instanceof Date
178
+ ? comparing
179
+ : this.date(comparing);
177
180
  switch (unit) {
178
181
  case 'years':
179
- return differenceInYears(value, this.date(comparing));
182
+ return differenceInYears(value, comparingDate);
180
183
  case 'quarters':
181
- return differenceInQuarters(value, this.date(comparing));
184
+ return differenceInQuarters(value, comparingDate);
182
185
  case 'months':
183
- return differenceInMonths(value, this.date(comparing));
186
+ return differenceInMonths(value, comparingDate);
184
187
  case 'weeks':
185
- return differenceInWeeks(value, this.date(comparing));
188
+ return differenceInWeeks(value, comparingDate);
186
189
  case 'days':
187
- return differenceInDays(value, this.date(comparing));
190
+ return differenceInDays(value, comparingDate);
188
191
  case 'hours':
189
- return differenceInHours(value, this.date(comparing));
192
+ return differenceInHours(value, comparingDate);
190
193
  case 'minutes':
191
- return differenceInMinutes(value, this.date(comparing));
194
+ return differenceInMinutes(value, comparingDate);
192
195
  case 'seconds':
193
- return differenceInSeconds(value, this.date(comparing));
196
+ return differenceInSeconds(value, comparingDate);
194
197
  default: {
195
- return differenceInMilliseconds(value, this.date(comparing));
198
+ return differenceInMilliseconds(value, comparingDate);
196
199
  }
197
200
  }
198
201
  };
@@ -266,13 +269,15 @@ export default class AdapterDateFns {
266
269
  return setYear(value, count);
267
270
  };
268
271
  date = (value) => {
269
- //
272
+ // Handle undefined case
270
273
  if (typeof value === 'undefined') {
271
274
  return new Date();
272
275
  }
276
+ // Handle null case
273
277
  if (value === null) {
274
278
  return null;
275
279
  }
280
+ // Handle string case
276
281
  return new Date(value);
277
282
  };
278
283
  dateWithTimezone = (value) => {
@@ -390,6 +395,12 @@ export default class AdapterDateFns {
390
395
  getMonth = (date) => {
391
396
  return date.getMonth();
392
397
  };
398
+ getDayOfWeek = (date) => {
399
+ return getDay(date);
400
+ };
401
+ getInvalidDate = () => {
402
+ return new Date('Invalid Date');
403
+ };
393
404
  getDaysInMonth = (date) => {
394
405
  return getDaysInMonth(date);
395
406
  };
@@ -450,7 +461,8 @@ export default class AdapterDateFns {
450
461
  getWeekNumber = (value) => {
451
462
  return getWeek(value, { locale: this.locale });
452
463
  };
453
- getYearRange = (start, end) => {
464
+ getYearRange = (range) => {
465
+ const [start, end] = range;
454
466
  const startDate = startOfYear(start);
455
467
  const endDate = endOfYear(end);
456
468
  const years = [];
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,11 @@ export interface AdapterFormats {
21
21
  * @example "1"
22
22
  */
23
23
  dayOfMonth: string;
24
+ /**
25
+ * The day of the month with leading zero.
26
+ * @example "01"
27
+ */
28
+ dayOfMonthFull: string;
24
29
  /**
25
30
  * The name of the day of the week.
26
31
  * @example "Wednesday"
@@ -171,6 +176,9 @@ export type AdapterOptions<TLocale, TInstance> = {
171
176
  formats?: Partial<AdapterFormats>;
172
177
  locale?: TLocale;
173
178
  } & PropertyIfNotNever<'instance', TInstance>;
179
+ export type DateBuilderReturnType<T extends string | null | undefined, TDate> = [
180
+ T
181
+ ] extends [null] ? null : TDate;
174
182
  export interface MuiPickersAdapter<TDate, TLocale = any> {
175
183
  /**
176
184
  * A boolean confirming that the adapter used is an MUI adapter.
@@ -202,7 +210,7 @@ export interface MuiPickersAdapter<TDate, TLocale = any> {
202
210
  * @param {any} value The optional value to parse.
203
211
  * @returns {TDate | null} The parsed date.
204
212
  */
205
- date(value?: any): TDate | null;
213
+ date<T extends string | null | undefined>(value?: T): DateBuilderReturnType<T, TDate>;
206
214
  /**
207
215
  * Create a date in the date library format.
208
216
  * If no `value` parameter is provided, creates a date with the current timestamp.
@@ -703,11 +711,10 @@ export interface MuiPickersAdapter<TDate, TLocale = any> {
703
711
  /**
704
712
  * Create a list with all the years between the start end the end date.
705
713
  * @template TDate
706
- * @param {TDate} start The start of the range.
707
- * @param {TDate} end The end of the range.
714
+ * @param {[TDate, TDate]} range The range [start, end].
708
715
  * @returns {TDate[]} List of all the years between the start end the end date.
709
716
  */
710
- getYearRange(start: TDate, end: TDate): TDate[];
717
+ getYearRange(range: [TDate, TDate]): TDate[];
711
718
  /**
712
719
  * Allow to customize how the "am"` and "pm" strings are rendered.
713
720
  * @param {"am" | "pm"} meridiem The string to render.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.js","sourceRoot":"","sources":["../../src/models/adapters.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../src/models/fields.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timezone.js","sourceRoot":"","sources":["../../src/models/timezone.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,11 +1,16 @@
1
1
  {
2
2
  "name": "@midseelee/date-fns-buddhist-adapter",
3
3
  "repository": "git@github.com:Sh0ckWaveZero/date-fns-buddhist-adapter.git",
4
- "version": "1.0.1",
4
+ "version": "1.0.3",
5
5
  "description": "date-fns adapter with Buddhist years functionality",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
8
  "private": false,
9
+ "files": [
10
+ "dist",
11
+ "README.md",
12
+ "LICENSE"
13
+ ],
9
14
  "scripts": {
10
15
  "test": "jest",
11
16
  "test:watch": "jest --watch",
@@ -20,7 +25,9 @@
20
25
  "typecheck": "tsc --noEmit",
21
26
  "clean": "rm -rf dist",
22
27
  "rebuild": "bun run clean && bun run build",
23
- "example:dev": "cd example && pnpm dev",
28
+ "example:dev": "cd example && bun run dev",
29
+ "example:install": "cd example && bun install",
30
+ "example:build": "cd example && bun run build",
24
31
  "start": "bun src/index.ts"
25
32
  },
26
33
  "keywords": [
@@ -1,10 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(npm publish:*)",
5
- "Bash(cat:*)"
6
- ],
7
- "deny": [],
8
- "ask": []
9
- }
10
- }
package/jest.config.ts DELETED
@@ -1,15 +0,0 @@
1
- import type { Config } from 'jest'
2
-
3
- const config: Config = {
4
- roots: ['<rootDir>/src'],
5
- preset: 'ts-jest',
6
- testEnvironment: 'node',
7
- clearMocks: true,
8
- collectCoverage: false,
9
- collectCoverageFrom: ['src/**/*.ts', '!**/node_modules/**'],
10
- coverageDirectory: 'coverage',
11
- coverageProvider: 'v8',
12
- coverageReporters: ['text-summary'],
13
- }
14
-
15
- export default config