@midseelee/date-fns-buddhist-adapter 1.0.0 → 1.0.2

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;
@@ -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',
@@ -115,7 +115,6 @@ export default class AdapterDateFns {
115
115
  .map((token) => {
116
116
  const firstCharacter = token[0];
117
117
  if (firstCharacter === 'p' || firstCharacter === 'P') {
118
- const locale = this.locale || defaultLocale;
119
118
  // Use the locale's format function to expand format strings
120
119
  return this.formatByString(new Date(), token);
121
120
  }
@@ -174,25 +173,28 @@ export default class AdapterDateFns {
174
173
  return isValid(this.date(value));
175
174
  };
176
175
  getDiff = (value, comparing, unit) => {
176
+ const comparingDate = comparing instanceof Date
177
+ ? comparing
178
+ : this.date(comparing);
177
179
  switch (unit) {
178
180
  case 'years':
179
- return differenceInYears(value, this.date(comparing));
181
+ return differenceInYears(value, comparingDate);
180
182
  case 'quarters':
181
- return differenceInQuarters(value, this.date(comparing));
183
+ return differenceInQuarters(value, comparingDate);
182
184
  case 'months':
183
- return differenceInMonths(value, this.date(comparing));
185
+ return differenceInMonths(value, comparingDate);
184
186
  case 'weeks':
185
- return differenceInWeeks(value, this.date(comparing));
187
+ return differenceInWeeks(value, comparingDate);
186
188
  case 'days':
187
- return differenceInDays(value, this.date(comparing));
189
+ return differenceInDays(value, comparingDate);
188
190
  case 'hours':
189
- return differenceInHours(value, this.date(comparing));
191
+ return differenceInHours(value, comparingDate);
190
192
  case 'minutes':
191
- return differenceInMinutes(value, this.date(comparing));
193
+ return differenceInMinutes(value, comparingDate);
192
194
  case 'seconds':
193
- return differenceInSeconds(value, this.date(comparing));
195
+ return differenceInSeconds(value, comparingDate);
194
196
  default: {
195
- return differenceInMilliseconds(value, this.date(comparing));
197
+ return differenceInMilliseconds(value, comparingDate);
196
198
  }
197
199
  }
198
200
  };
@@ -266,7 +268,6 @@ export default class AdapterDateFns {
266
268
  return setYear(value, count);
267
269
  };
268
270
  date = (value) => {
269
- //
270
271
  if (typeof value === 'undefined') {
271
272
  return new Date();
272
273
  }
@@ -390,6 +391,12 @@ export default class AdapterDateFns {
390
391
  getMonth = (date) => {
391
392
  return date.getMonth();
392
393
  };
394
+ getDayOfWeek = (date) => {
395
+ return getDay(date);
396
+ };
397
+ getInvalidDate = () => {
398
+ return new Date('Invalid Date');
399
+ };
393
400
  getDaysInMonth = (date) => {
394
401
  return getDaysInMonth(date);
395
402
  };
@@ -450,7 +457,8 @@ export default class AdapterDateFns {
450
457
  getWeekNumber = (value) => {
451
458
  return getWeek(value, { locale: this.locale });
452
459
  };
453
- getYearRange = (start, end) => {
460
+ getYearRange = (range) => {
461
+ const [start, end] = range;
454
462
  const startDate = startOfYear(start);
455
463
  const endDate = endOfYear(end);
456
464
  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
- "repository": "https://github.com/midseelee/date-fns-buddhist-adapter.git",
4
- "version": "1.0.0",
3
+ "repository": "git@github.com:Sh0ckWaveZero/date-fns-buddhist-adapter.git",
4
+ "version": "1.0.2",
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,9 +0,0 @@
1
- {
2
- "permissions": {
3
- "allow": [
4
- "Bash(npm publish:*)"
5
- ],
6
- "deny": [],
7
- "ask": []
8
- }
9
- }
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