@forthic/interp 0.15.0 → 0.16.1

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.
@@ -65,4 +65,114 @@ export function date_to_int(date) {
65
65
  const result = parseInt(digits);
66
66
  return result;
67
67
  }
68
+ export function to_literal_date(str_val, timezone = "UTC") {
69
+ // --------------------
70
+ // Handle date format strings like "YYYY-MM-DD" or "YYYY-MM-03" or "YYYY-02-03" or "2025-02-03"
71
+ let year;
72
+ let month;
73
+ let day;
74
+ const date_parts = str_val.split("-");
75
+ const zonedDateTime = Temporal.Now.zonedDateTimeISO(timezone);
76
+ // Case 1: If time is like "YYYY-MM-DD"
77
+ if (str_val.match(/^YYYY-MM-DD$/)) {
78
+ year = zonedDateTime.year;
79
+ month = zonedDateTime.month;
80
+ day = zonedDateTime.day;
81
+ } // Case 2: If time is like "YYYY-MM-03"
82
+ else if (str_val.match(/^YYYY-MM-\d{2}$/)) {
83
+ year = zonedDateTime.year;
84
+ month = zonedDateTime.month;
85
+ day = parseInt(date_parts[2]);
86
+ } // Case 3: If time is like "YYYY-02-03"
87
+ else if (str_val.match(/^YYYY-\d{2}-\d{2}$/)) {
88
+ year = zonedDateTime.year;
89
+ month = parseInt(date_parts[1]);
90
+ day = parseInt(date_parts[2]);
91
+ } // Case 4: If time is like "2025-02-03"
92
+ else if (str_val.match(/^\d{4}-\d{2}-\d{2}$/)) {
93
+ year = parseInt(date_parts[0]);
94
+ month = parseInt(date_parts[1]);
95
+ day = parseInt(date_parts[2]);
96
+ } // Case 5: If time is like "2025-MM-DD"
97
+ else if (str_val.match(/^\d{4}-MM-DD$/)) {
98
+ year = parseInt(date_parts[0]);
99
+ month = zonedDateTime.month;
100
+ day = zonedDateTime.day;
101
+ } // Case 6: If time is like "2025-02-DD"
102
+ else if (str_val.match(/^\d{4}-\d{2}-DD$/)) {
103
+ year = parseInt(date_parts[0]);
104
+ month = parseInt(date_parts[1]);
105
+ day = zonedDateTime.day;
106
+ } // Case 7: If time is like "2025-MM-03"
107
+ else if (str_val.match(/^\d{4}-MM-\d{2}$/)) {
108
+ year = parseInt(date_parts[0]);
109
+ month = zonedDateTime.month;
110
+ day = parseInt(date_parts[2]);
111
+ } // Case 8: If time is like "YYYY-03-DD"
112
+ else if (str_val.match(/^YYYY-\d{2}-DD$/)) {
113
+ year = zonedDateTime.year;
114
+ month = parseInt(date_parts[1]);
115
+ day = zonedDateTime.day;
116
+ } // Otherwise, return null
117
+ else {
118
+ return null;
119
+ }
120
+ const result = Temporal.PlainDate.from({
121
+ year: year,
122
+ month: month,
123
+ day: day,
124
+ });
125
+ return result;
126
+ }
127
+ export function to_zoned_datetime(str_val, tz = "UTC") {
128
+ try {
129
+ // We're handling these cases:
130
+ // 2025-05-24T10:15 # Hours and minutes only, current timezone
131
+ // 2025-05-24T10:15:00 # Hours, minutes, seconds, current timezone
132
+ // 2025-05-24T10:15:00.123 # With milliseconds, current timezone
133
+ // 2025-05-24T10:15Z # Hours and minutes only, UTC
134
+ // 2025-05-24T10:15:00Z # Hours, minutes, seconds, UTC
135
+ // 2025-05-24T10:15:00.123Z # With milliseconds, UTC
136
+ // 2025-05-24T10:15:00-05:00 # With timezone offset
137
+ // 2025-05-24T10:15:00[America/New_York] # With timezone name (NOTE: This one doesn't work in raw Forthic because `[` and `]` are special characters)
138
+ const datetimeRegex = new RegExp([
139
+ '^',
140
+ '(?<datetime>\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2})', // Named group for date and time
141
+ '(?::(?<seconds>\\d{2}))?', // Named group for optional seconds
142
+ '(?:\\.(?<milliseconds>\\d{3}))?', // Named group for optional milliseconds
143
+ '(?<timezone>Z|[+-]\\d{2}:\\d{2})?', // Named group for simple timezone (Z or offset)
144
+ '(?<bracketedTimezone>\\[[A-Za-z][A-Za-z0-9_/]+\\])?', // Named group for bracketed timezone
145
+ '$'
146
+ ].join(''));
147
+ const match = str_val.match(datetimeRegex);
148
+ if (!match)
149
+ return null;
150
+ // Extract regex groups
151
+ const datetime = match.groups?.datetime;
152
+ const seconds = match.groups?.seconds || "00";
153
+ const milliseconds = match.groups?.milliseconds || "000";
154
+ const timezone = match.groups?.timezone;
155
+ const bracketedTimezone = match.groups?.bracketedTimezone;
156
+ const datetimeStr = `${datetime}${seconds ? `:${seconds}` : ''}${milliseconds ? `.${milliseconds}` : ''}`;
157
+ let result = null;
158
+ // If timezone is specified in brackets, use it
159
+ if (bracketedTimezone) {
160
+ result = Temporal.ZonedDateTime.from(`${datetimeStr}${bracketedTimezone}`);
161
+ }
162
+ // If we have a Z or a timezone offset, use that but convert to UTC
163
+ else if (timezone) {
164
+ const date = new Date(datetimeStr + timezone);
165
+ result = Temporal.Instant.fromEpochMilliseconds(date.getTime()).toZonedDateTime({ timeZone: "UTC", calendar: 'iso8601' });
166
+ }
167
+ // Otherwise, use the current timezone
168
+ else {
169
+ const date = new Date(datetimeStr);
170
+ result = Temporal.Instant.fromEpochMilliseconds(date.getTime()).toZonedDateTime({ timeZone: tz, calendar: 'iso8601' });
171
+ }
172
+ return result;
173
+ }
174
+ catch {
175
+ return null;
176
+ }
177
+ }
68
178
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/forthic/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/forthic/utils.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@ export * from "./forthic/interpreter.js";
2
2
  export * from "./forthic/tokenizer";
3
3
  export * from "./forthic/module.js";
4
4
  export * from "./forthic/errors.js";
5
+ export * from "./forthic/utils.js";
package/dist/esm/index.js CHANGED
@@ -2,4 +2,5 @@ export * from "./forthic/interpreter.js";
2
2
  export * from "./forthic/tokenizer";
3
3
  export * from "./forthic/module.js";
4
4
  export * from "./forthic/errors.js";
5
+ export * from "./forthic/utils.js";
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forthic/interp",
3
- "version": "0.15.0",
3
+ "version": "0.16.1",
4
4
  "description": "Forthic interpreter",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",