@timestamp-js/core 0.1.0-rc.1 → 0.1.0-rc.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
@@ -25,6 +25,20 @@ console.log(end ? getDateTime(end) : 'Invalid date')
25
25
  console.log(billingDate ? getDateTime(billingDate) : 'Invalid date')
26
26
  ```
27
27
 
28
+ ## Browser Globals
29
+
30
+ The package also ships a browser-global IIFE build for CDN and CodePen-style usage:
31
+
32
+ ```html
33
+ <script src="https://cdn.jsdelivr.net/npm/@timestamp-js/core@0.1.0-rc.3/dist/index.global.min.js"></script>
34
+ <script>
35
+ const today = TimestampJsCore.today()
36
+ const parsed = TimestampJsCore.parseTimestamp(today)
37
+
38
+ console.log(parsed?.date)
39
+ </script>
40
+ ```
41
+
28
42
  ## Timestamp Values
29
43
 
30
44
  Timestamp objects are immutable. Parsers and update helpers return frozen objects, and functions that change date/time fields return a new Timestamp instead of mutating the original.
@@ -83,7 +97,7 @@ The publishable package lives in `packages/lib` so the repository follows the sa
83
97
 
84
98
  ## Future Scope
85
99
 
86
- The package is intentionally not trying to become a full general-purpose date library on day one. Planned evaluations include Temporal support, explicit timezone behavior, more alternate calendar systems, compact formatting masks, and a script-tag/browser build if CodePen-style demos need it.
100
+ The package is intentionally not trying to become a full general-purpose date library on day one. Planned evaluations include Temporal support, explicit timezone behavior, more alternate calendar systems, and compact formatting masks.
87
101
 
88
102
  ## Development
89
103
 
@@ -91,3 +105,5 @@ The package is intentionally not trying to become a full general-purpose date li
91
105
  pnpm install
92
106
  pnpm verify
93
107
  ```
108
+
109
+ Package builds emit ESM and TypeScript declarations with `tsc`, plus browser-global IIFE bundles with `obuild`.
@@ -5,6 +5,10 @@
5
5
  * `gregory` as its Intl calendar id.
6
6
  */
7
7
  export type CalendarId = 'gregorian' | (string & {});
8
+ /**
9
+ * Recommended text direction for calendar presentation.
10
+ */
11
+ export type CalendarDirection = 'ltr' | 'rtl';
8
12
  /**
9
13
  * Plain calendar date fields.
10
14
  */
@@ -42,6 +46,20 @@ export interface CalendarSystem {
42
46
  * Human-readable calendar name.
43
47
  */
44
48
  readonly label: string;
49
+ /**
50
+ * Recommended BCP 47 locale for presentation when the caller does not provide one.
51
+ */
52
+ readonly defaultLocale?: string;
53
+ /**
54
+ * Recommended text direction for presentation when the caller does not provide one.
55
+ */
56
+ readonly defaultDirection?: CalendarDirection;
57
+ /**
58
+ * Recommended visible weekday order when the caller does not provide one.
59
+ *
60
+ * Weekdays use JavaScript numbering, where Sunday is `0` and Saturday is `6`.
61
+ */
62
+ readonly defaultWeekdays?: readonly number[];
45
63
  /**
46
64
  * Number of months in a calendar year.
47
65
  */
@@ -98,4 +116,36 @@ export declare function formatCalendarDate(date: CalendarDateParts): string;
98
116
  * packages a concrete contract to implement.
99
117
  */
100
118
  export declare const gregorianCalendar: CalendarSystem;
119
+ /**
120
+ * Returns the recommended locale for a calendar system.
121
+ *
122
+ * @param calendar Calendar implementation to read.
123
+ * @returns BCP 47 locale, defaulting to `en-US`.
124
+ * @category calendar
125
+ */
126
+ export declare function getCalendarLocale(calendar?: CalendarSystem): string;
127
+ /**
128
+ * Returns the recommended text direction for a calendar system.
129
+ *
130
+ * @param calendar Calendar implementation to read.
131
+ * @returns `ltr` or `rtl`, defaulting to `ltr`.
132
+ * @category calendar
133
+ */
134
+ export declare function getCalendarDirection(calendar?: CalendarSystem): CalendarDirection;
135
+ /**
136
+ * Returns true when a calendar system recommends right-to-left presentation.
137
+ *
138
+ * @param calendar Calendar implementation to read.
139
+ * @returns True when the recommended direction is `rtl`.
140
+ * @category calendar
141
+ */
142
+ export declare function isCalendarRTL(calendar?: CalendarSystem): boolean;
143
+ /**
144
+ * Returns the recommended visible weekday order for a calendar system.
145
+ *
146
+ * @param calendar Calendar implementation to read.
147
+ * @returns Weekday numbers where Sunday is `0` and Saturday is `6`.
148
+ * @category calendar
149
+ */
150
+ export declare function getCalendarWeekdays(calendar?: CalendarSystem): number[];
101
151
  //# sourceMappingURL=calendar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAA;IAEvB;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAE9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAElC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEjC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAEhD;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAA;IAE3C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAEjD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAEnE;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAAA;IAEnD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAAA;IAEnD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAA;IAE7C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAA;CAC5C;AAWD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAElE;AAcD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,cA+C9B,CAAA"}
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAEpD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,CAAA;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,CAAA;IAEvB;;OAEG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAE9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;IAE/B;;OAEG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,CAAA;IAE7C;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IAE5C;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;IAElC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAEjC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;IAEhD;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAA;IAE3C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAEjD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,CAAA;IAEnE;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAAA;IAEnD;;OAEG;IACH,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,CAAA;IAEnD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAA;IAE7C;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAAA;CAC5C;AAWD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAElE;AAcD;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAkD9B,CAAA;AAEF;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,GAAE,cAAkC,GAAG,MAAM,CAEtF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,cAAkC,GAC3C,iBAAiB,CAEnB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,QAAQ,GAAE,cAAkC,GAAG,OAAO,CAEnF;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,cAAkC,GAAG,MAAM,EAAE,CAI1F"}
package/dist/calendar.js CHANGED
@@ -34,6 +34,9 @@ export const gregorianCalendar = Object.freeze({
34
34
  id: 'gregorian',
35
35
  intlCalendar: 'gregory',
36
36
  label: 'Gregorian',
37
+ defaultLocale: 'en-US',
38
+ defaultDirection: 'ltr',
39
+ defaultWeekdays: Object.freeze([0, 1, 2, 3, 4, 5, 6]),
37
40
  monthsInYear() {
38
41
  return 12;
39
42
  },
@@ -66,4 +69,46 @@ export const gregorianCalendar = Object.freeze({
66
69
  return toGregorianUtcDate(date).getUTCDay();
67
70
  },
68
71
  });
72
+ /**
73
+ * Returns the recommended locale for a calendar system.
74
+ *
75
+ * @param calendar Calendar implementation to read.
76
+ * @returns BCP 47 locale, defaulting to `en-US`.
77
+ * @category calendar
78
+ */
79
+ export function getCalendarLocale(calendar = gregorianCalendar) {
80
+ return calendar.defaultLocale ?? gregorianCalendar.defaultLocale ?? 'en-US';
81
+ }
82
+ /**
83
+ * Returns the recommended text direction for a calendar system.
84
+ *
85
+ * @param calendar Calendar implementation to read.
86
+ * @returns `ltr` or `rtl`, defaulting to `ltr`.
87
+ * @category calendar
88
+ */
89
+ export function getCalendarDirection(calendar = gregorianCalendar) {
90
+ return calendar.defaultDirection ?? gregorianCalendar.defaultDirection ?? 'ltr';
91
+ }
92
+ /**
93
+ * Returns true when a calendar system recommends right-to-left presentation.
94
+ *
95
+ * @param calendar Calendar implementation to read.
96
+ * @returns True when the recommended direction is `rtl`.
97
+ * @category calendar
98
+ */
99
+ export function isCalendarRTL(calendar = gregorianCalendar) {
100
+ return getCalendarDirection(calendar) === 'rtl';
101
+ }
102
+ /**
103
+ * Returns the recommended visible weekday order for a calendar system.
104
+ *
105
+ * @param calendar Calendar implementation to read.
106
+ * @returns Weekday numbers where Sunday is `0` and Saturday is `6`.
107
+ * @category calendar
108
+ */
109
+ export function getCalendarWeekdays(calendar = gregorianCalendar) {
110
+ return [
111
+ ...(calendar.defaultWeekdays ?? gregorianCalendar.defaultWeekdays ?? [0, 1, 2, 3, 4, 5, 6]),
112
+ ];
113
+ }
69
114
  //# sourceMappingURL=calendar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"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"}