goscript 0.0.28 → 0.0.29
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/compiler/analysis.go +41 -2
- package/compiler/expr-call.go +87 -15
- package/compiler/expr-selector.go +100 -0
- package/compiler/spec-value.go +79 -8
- package/compiler/spec.go +236 -0
- package/dist/gs/builtin/builtin.d.ts +1 -0
- package/dist/gs/builtin/builtin.js +11 -0
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/internal/oserror/errors.d.ts +6 -0
- package/dist/gs/internal/oserror/errors.js +7 -0
- package/dist/gs/internal/oserror/errors.js.map +1 -0
- package/dist/gs/internal/oserror/index.d.ts +1 -0
- package/dist/gs/internal/oserror/index.js +2 -0
- package/dist/gs/internal/oserror/index.js.map +1 -0
- package/dist/gs/io/fs/format.d.ts +3 -0
- package/dist/gs/io/fs/format.js +56 -0
- package/dist/gs/io/fs/format.js.map +1 -0
- package/dist/gs/io/fs/fs.d.ts +79 -0
- package/dist/gs/io/fs/fs.js +200 -0
- package/dist/gs/io/fs/fs.js.map +1 -0
- package/dist/gs/io/fs/glob.d.ts +10 -0
- package/dist/gs/io/fs/glob.js +141 -0
- package/dist/gs/io/fs/glob.js.map +1 -0
- package/dist/gs/io/fs/index.d.ts +8 -0
- package/dist/gs/io/fs/index.js +9 -0
- package/dist/gs/io/fs/index.js.map +1 -0
- package/dist/gs/io/fs/readdir.d.ts +7 -0
- package/dist/gs/io/fs/readdir.js +152 -0
- package/dist/gs/io/fs/readdir.js.map +1 -0
- package/dist/gs/io/fs/readfile.d.ts +6 -0
- package/dist/gs/io/fs/readfile.js +118 -0
- package/dist/gs/io/fs/readfile.js.map +1 -0
- package/dist/gs/io/fs/stat.d.ts +6 -0
- package/dist/gs/io/fs/stat.js +87 -0
- package/dist/gs/io/fs/stat.js.map +1 -0
- package/dist/gs/io/fs/sub.d.ts +6 -0
- package/dist/gs/io/fs/sub.js +172 -0
- package/dist/gs/io/fs/sub.js.map +1 -0
- package/dist/gs/io/fs/walk.d.ts +7 -0
- package/dist/gs/io/fs/walk.js +76 -0
- package/dist/gs/io/fs/walk.js.map +1 -0
- package/dist/gs/path/index.d.ts +2 -0
- package/dist/gs/path/index.js +3 -0
- package/dist/gs/path/index.js.map +1 -0
- package/dist/gs/path/match.d.ts +6 -0
- package/dist/gs/path/match.js +281 -0
- package/dist/gs/path/match.js.map +1 -0
- package/dist/gs/path/path.d.ts +7 -0
- package/dist/gs/path/path.js +256 -0
- package/dist/gs/path/path.js.map +1 -0
- package/dist/gs/time/time.d.ts +11 -2
- package/dist/gs/time/time.js +337 -12
- package/dist/gs/time/time.js.map +1 -1
- package/gs/builtin/builtin.ts +13 -0
- package/gs/internal/oserror/errors.ts +14 -0
- package/gs/internal/oserror/index.ts +1 -0
- package/gs/io/fs/format.ts +65 -0
- package/gs/io/fs/fs.ts +359 -0
- package/gs/io/fs/glob.ts +167 -0
- package/gs/io/fs/godoc.txt +35 -0
- package/gs/io/fs/index.ts +8 -0
- package/gs/io/fs/readdir.ts +126 -0
- package/gs/io/fs/readfile.ts +77 -0
- package/gs/io/fs/stat.ts +38 -0
- package/gs/io/fs/sub.ts +208 -0
- package/gs/io/fs/walk.ts +89 -0
- package/gs/path/index.ts +2 -0
- package/gs/path/match.ts +307 -0
- package/gs/path/path.ts +301 -0
- package/gs/strings/reader.test.ts +0 -1
- package/gs/time/time.ts +325 -12
- package/package.json +1 -1
- package/gs/time/godoc.md +0 -116
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../../gs/path/path.ts"],"names":[],"mappings":"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"}
|
package/dist/gs/time/time.d.ts
CHANGED
|
@@ -2,8 +2,10 @@ export declare class Time {
|
|
|
2
2
|
private _date;
|
|
3
3
|
private _nsec;
|
|
4
4
|
private _monotonic?;
|
|
5
|
-
|
|
5
|
+
private _location;
|
|
6
|
+
constructor(date: globalThis.Date, nsec?: number, monotonic?: number, location?: Location);
|
|
6
7
|
clone(): Time;
|
|
8
|
+
Format(layout: string): string;
|
|
7
9
|
Sub(u: Time): Duration;
|
|
8
10
|
Add(d: Duration): Time;
|
|
9
11
|
Equal(u: Time): boolean;
|
|
@@ -25,8 +27,10 @@ export declare class Duration {
|
|
|
25
27
|
export declare function multiplyDuration(duration: Duration, multiplier: number): Duration;
|
|
26
28
|
export declare class Location {
|
|
27
29
|
private _name;
|
|
28
|
-
|
|
30
|
+
private _offsetSeconds?;
|
|
31
|
+
constructor(name: string, offsetSeconds?: number);
|
|
29
32
|
get name(): string;
|
|
33
|
+
get offsetSeconds(): number | undefined;
|
|
30
34
|
}
|
|
31
35
|
export declare enum Month {
|
|
32
36
|
January = 1,
|
|
@@ -45,6 +49,7 @@ export declare enum Month {
|
|
|
45
49
|
export declare function Now(): Time;
|
|
46
50
|
export declare function Date(year: number, month: Month, day: number, hour: number, min: number, sec: number, nsec: number, loc: Location): Time;
|
|
47
51
|
export declare const UTC: Location;
|
|
52
|
+
export declare function FixedZone(name: string, offset: number): Location;
|
|
48
53
|
export declare const Nanosecond: Duration;
|
|
49
54
|
export declare const Microsecond: Duration;
|
|
50
55
|
export declare const Millisecond: Duration;
|
|
@@ -55,3 +60,7 @@ export declare function Since(t: Time): Duration;
|
|
|
55
60
|
export declare function Until(t: Time): Duration;
|
|
56
61
|
export declare function Sleep(d: Duration): Promise<void>;
|
|
57
62
|
export declare const May = Month.May;
|
|
63
|
+
export declare const DateTime = "2006-01-02 15:04:05";
|
|
64
|
+
export declare const Layout = "01/02 03:04:05PM '06 -0700";
|
|
65
|
+
export declare const RFC3339 = "2006-01-02T15:04:05Z07:00";
|
|
66
|
+
export declare const Kitchen = "3:04PM";
|
package/dist/gs/time/time.js
CHANGED
|
@@ -3,14 +3,323 @@ export class Time {
|
|
|
3
3
|
_date;
|
|
4
4
|
_nsec; // nanoseconds within the second
|
|
5
5
|
_monotonic; // high-resolution monotonic timestamp in nanoseconds
|
|
6
|
-
|
|
6
|
+
_location; // timezone location
|
|
7
|
+
constructor(date, nsec = 0, monotonic, location) {
|
|
7
8
|
this._date = new globalThis.Date(date.getTime());
|
|
8
9
|
this._nsec = nsec;
|
|
9
10
|
this._monotonic = monotonic;
|
|
11
|
+
this._location = location || UTC;
|
|
10
12
|
}
|
|
11
13
|
// clone returns a copy of this Time instance
|
|
12
14
|
clone() {
|
|
13
|
-
return new Time(this._date, this._nsec, this._monotonic);
|
|
15
|
+
return new Time(this._date, this._nsec, this._monotonic, this._location);
|
|
16
|
+
}
|
|
17
|
+
// Format returns a textual representation of the time value formatted according to the layout
|
|
18
|
+
Format(layout) {
|
|
19
|
+
// Implementation of Go's time formatting based on reference time:
|
|
20
|
+
// "Mon Jan 2 15:04:05 MST 2006" (Unix time 1136239445)
|
|
21
|
+
// Calculate the time in the timezone of this Time object
|
|
22
|
+
let year, month0, dayOfMonth, dayOfWeek;
|
|
23
|
+
let hour24, minute, second;
|
|
24
|
+
if (this._location.offsetSeconds !== undefined) {
|
|
25
|
+
// For fixed timezone locations, adjust the UTC time by the offset
|
|
26
|
+
const offsetMs = this._location.offsetSeconds * 1000;
|
|
27
|
+
const adjustedTime = new globalThis.Date(this._date.getTime() + offsetMs);
|
|
28
|
+
year = adjustedTime.getUTCFullYear();
|
|
29
|
+
month0 = adjustedTime.getUTCMonth(); // 0-11 for array indexing
|
|
30
|
+
dayOfMonth = adjustedTime.getUTCDate(); // 1-31
|
|
31
|
+
dayOfWeek = adjustedTime.getUTCDay(); // 0 (Sun) - 6 (Sat)
|
|
32
|
+
hour24 = adjustedTime.getUTCHours(); // 0-23
|
|
33
|
+
minute = adjustedTime.getUTCMinutes(); // 0-59
|
|
34
|
+
second = adjustedTime.getUTCSeconds(); // 0-59
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
// For local time, use the local timezone methods
|
|
38
|
+
year = this._date.getFullYear();
|
|
39
|
+
month0 = this._date.getMonth(); // 0-11 for array indexing
|
|
40
|
+
dayOfMonth = this._date.getDate(); // 1-31
|
|
41
|
+
dayOfWeek = this._date.getDay(); // 0 (Sun) - 6 (Sat)
|
|
42
|
+
hour24 = this._date.getHours(); // 0-23
|
|
43
|
+
minute = this._date.getMinutes(); // 0-59
|
|
44
|
+
second = this._date.getSeconds(); // 0-59
|
|
45
|
+
}
|
|
46
|
+
const nsec = this._nsec; // Nanoseconds (0-999,999,999)
|
|
47
|
+
const shortMonthNames = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"];
|
|
48
|
+
const longMonthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
|
|
49
|
+
const shortDayNames = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
|
|
50
|
+
const longDayNames = ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"];
|
|
51
|
+
const hour12 = hour24 % 12 || 12; // 12 for 0h and 12h
|
|
52
|
+
const ampmUpper = hour24 < 12 ? 'AM' : 'PM';
|
|
53
|
+
const ampmLower = ampmUpper.toLowerCase();
|
|
54
|
+
// Timezone offset calculation - use the location's offset if available
|
|
55
|
+
let tzOffsetSeconds = 0;
|
|
56
|
+
let tzName = this._location.name;
|
|
57
|
+
let isUTC = false;
|
|
58
|
+
if (this._location.offsetSeconds !== undefined) {
|
|
59
|
+
// Use the fixed offset from the location
|
|
60
|
+
tzOffsetSeconds = this._location.offsetSeconds;
|
|
61
|
+
isUTC = tzOffsetSeconds === 0 && this._location.name === "UTC";
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
// Fall back to JavaScript's timezone offset (for local time)
|
|
65
|
+
const tzOffsetMinutesJS = this._date.getTimezoneOffset();
|
|
66
|
+
tzOffsetSeconds = -tzOffsetMinutesJS * 60; // Convert to seconds, negate because JS offset is opposite
|
|
67
|
+
isUTC = tzOffsetSeconds === 0;
|
|
68
|
+
}
|
|
69
|
+
let tzSign = '+';
|
|
70
|
+
if (tzOffsetSeconds < 0) {
|
|
71
|
+
tzSign = '-';
|
|
72
|
+
}
|
|
73
|
+
const absTzOffsetSeconds = Math.abs(tzOffsetSeconds);
|
|
74
|
+
const tzOffsetHours = Math.floor(absTzOffsetSeconds / 3600);
|
|
75
|
+
const tzOffsetMins = Math.floor((absTzOffsetSeconds % 3600) / 60);
|
|
76
|
+
// Helper function to format fractional seconds
|
|
77
|
+
const formatFracSeconds = (n, trimZeros) => {
|
|
78
|
+
if (n === 0 && trimZeros)
|
|
79
|
+
return '';
|
|
80
|
+
let str = n.toString().padStart(9, '0');
|
|
81
|
+
if (trimZeros) {
|
|
82
|
+
str = str.replace(/0+$/, '');
|
|
83
|
+
}
|
|
84
|
+
return str.length > 0 ? '.' + str : '';
|
|
85
|
+
};
|
|
86
|
+
let result = '';
|
|
87
|
+
let i = 0;
|
|
88
|
+
// Process layout character by character, matching Go's nextStdChunk logic
|
|
89
|
+
while (i < layout.length) {
|
|
90
|
+
let matched = false;
|
|
91
|
+
// Check for multi-character patterns first (longest matches first)
|
|
92
|
+
const remaining = layout.slice(i);
|
|
93
|
+
// Fractional seconds with comma/period
|
|
94
|
+
if (remaining.match(/^[.,]999999999/)) {
|
|
95
|
+
result += formatFracSeconds(nsec, true).replace('.', remaining[0]);
|
|
96
|
+
i += 10;
|
|
97
|
+
matched = true;
|
|
98
|
+
}
|
|
99
|
+
else if (remaining.match(/^[.,]999999/)) {
|
|
100
|
+
const microseconds = Math.floor(nsec / 1000);
|
|
101
|
+
let str = microseconds.toString().padStart(6, '0');
|
|
102
|
+
str = str.replace(/0+$/, ''); // trim trailing zeros
|
|
103
|
+
result += str.length > 0 ? remaining[0] + str : '';
|
|
104
|
+
i += 7;
|
|
105
|
+
matched = true;
|
|
106
|
+
}
|
|
107
|
+
else if (remaining.match(/^[.,]999/)) {
|
|
108
|
+
const milliseconds = Math.floor(nsec / 1000000);
|
|
109
|
+
let str = milliseconds.toString().padStart(3, '0');
|
|
110
|
+
str = str.replace(/0+$/, ''); // trim trailing zeros
|
|
111
|
+
result += str.length > 0 ? remaining[0] + str : '';
|
|
112
|
+
i += 4;
|
|
113
|
+
matched = true;
|
|
114
|
+
}
|
|
115
|
+
else if (remaining.match(/^[.,]000000000/)) {
|
|
116
|
+
result += remaining[0] + nsec.toString().padStart(9, '0');
|
|
117
|
+
i += 10;
|
|
118
|
+
matched = true;
|
|
119
|
+
}
|
|
120
|
+
else if (remaining.match(/^[.,]000000/)) {
|
|
121
|
+
result += remaining[0] + Math.floor(nsec / 1000).toString().padStart(6, '0');
|
|
122
|
+
i += 7;
|
|
123
|
+
matched = true;
|
|
124
|
+
}
|
|
125
|
+
else if (remaining.match(/^[.,]000/)) {
|
|
126
|
+
result += remaining[0] + Math.floor(nsec / 1000000).toString().padStart(3, '0');
|
|
127
|
+
i += 4;
|
|
128
|
+
matched = true;
|
|
129
|
+
}
|
|
130
|
+
// Full month/day names
|
|
131
|
+
else if (remaining.startsWith('January')) {
|
|
132
|
+
result += longMonthNames[month0];
|
|
133
|
+
i += 7;
|
|
134
|
+
matched = true;
|
|
135
|
+
}
|
|
136
|
+
else if (remaining.startsWith('Monday')) {
|
|
137
|
+
result += longDayNames[dayOfWeek];
|
|
138
|
+
i += 6;
|
|
139
|
+
matched = true;
|
|
140
|
+
}
|
|
141
|
+
// Year patterns
|
|
142
|
+
else if (remaining.startsWith('2006')) {
|
|
143
|
+
result += year.toString();
|
|
144
|
+
i += 4;
|
|
145
|
+
matched = true;
|
|
146
|
+
}
|
|
147
|
+
// Timezone patterns (order matters - longer patterns first)
|
|
148
|
+
else if (remaining.startsWith('Z070000')) {
|
|
149
|
+
if (isUTC) {
|
|
150
|
+
result += 'Z';
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}${tzOffsetMins.toString().padStart(2, '0')}00`;
|
|
154
|
+
}
|
|
155
|
+
i += 7;
|
|
156
|
+
matched = true;
|
|
157
|
+
}
|
|
158
|
+
else if (remaining.startsWith('Z07:00:00')) {
|
|
159
|
+
if (isUTC) {
|
|
160
|
+
result += 'Z';
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}:${tzOffsetMins.toString().padStart(2, '0')}:00`;
|
|
164
|
+
}
|
|
165
|
+
i += 9;
|
|
166
|
+
matched = true;
|
|
167
|
+
}
|
|
168
|
+
else if (remaining.startsWith('Z0700')) {
|
|
169
|
+
if (isUTC) {
|
|
170
|
+
result += 'Z';
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}${tzOffsetMins.toString().padStart(2, '0')}`;
|
|
174
|
+
}
|
|
175
|
+
i += 5;
|
|
176
|
+
matched = true;
|
|
177
|
+
}
|
|
178
|
+
else if (remaining.startsWith('Z07:00')) {
|
|
179
|
+
if (isUTC) {
|
|
180
|
+
result += 'Z';
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}:${tzOffsetMins.toString().padStart(2, '0')}`;
|
|
184
|
+
}
|
|
185
|
+
i += 6;
|
|
186
|
+
matched = true;
|
|
187
|
+
}
|
|
188
|
+
else if (remaining.startsWith('Z07')) {
|
|
189
|
+
if (isUTC) {
|
|
190
|
+
result += 'Z';
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}`;
|
|
194
|
+
}
|
|
195
|
+
i += 3;
|
|
196
|
+
matched = true;
|
|
197
|
+
}
|
|
198
|
+
else if (remaining.startsWith('-070000')) {
|
|
199
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}${tzOffsetMins.toString().padStart(2, '0')}00`;
|
|
200
|
+
i += 7;
|
|
201
|
+
matched = true;
|
|
202
|
+
}
|
|
203
|
+
else if (remaining.startsWith('-07:00:00')) {
|
|
204
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}:${tzOffsetMins.toString().padStart(2, '0')}:00`;
|
|
205
|
+
i += 9;
|
|
206
|
+
matched = true;
|
|
207
|
+
}
|
|
208
|
+
else if (remaining.startsWith('-0700')) {
|
|
209
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}${tzOffsetMins.toString().padStart(2, '0')}`;
|
|
210
|
+
i += 5;
|
|
211
|
+
matched = true;
|
|
212
|
+
}
|
|
213
|
+
else if (remaining.startsWith('-07:00')) {
|
|
214
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}:${tzOffsetMins.toString().padStart(2, '0')}`;
|
|
215
|
+
i += 6;
|
|
216
|
+
matched = true;
|
|
217
|
+
}
|
|
218
|
+
else if (remaining.startsWith('-07')) {
|
|
219
|
+
result += `${tzSign}${tzOffsetHours.toString().padStart(2, '0')}`;
|
|
220
|
+
i += 3;
|
|
221
|
+
matched = true;
|
|
222
|
+
}
|
|
223
|
+
// Hour patterns
|
|
224
|
+
else if (remaining.startsWith('15')) {
|
|
225
|
+
result += hour24.toString().padStart(2, '0');
|
|
226
|
+
i += 2;
|
|
227
|
+
matched = true;
|
|
228
|
+
}
|
|
229
|
+
// Month patterns
|
|
230
|
+
else if (remaining.startsWith('Jan')) {
|
|
231
|
+
result += shortMonthNames[month0];
|
|
232
|
+
i += 3;
|
|
233
|
+
matched = true;
|
|
234
|
+
}
|
|
235
|
+
// Day patterns
|
|
236
|
+
else if (remaining.startsWith('Mon')) {
|
|
237
|
+
result += shortDayNames[dayOfWeek];
|
|
238
|
+
i += 3;
|
|
239
|
+
matched = true;
|
|
240
|
+
}
|
|
241
|
+
else if (remaining.startsWith('MST')) {
|
|
242
|
+
// Use the actual timezone name instead of literal "MST"
|
|
243
|
+
result += tzName;
|
|
244
|
+
i += 3;
|
|
245
|
+
matched = true;
|
|
246
|
+
}
|
|
247
|
+
// AM/PM patterns
|
|
248
|
+
else if (remaining.startsWith('PM')) {
|
|
249
|
+
result += ampmUpper;
|
|
250
|
+
i += 2;
|
|
251
|
+
matched = true;
|
|
252
|
+
}
|
|
253
|
+
else if (remaining.startsWith('pm')) {
|
|
254
|
+
result += ampmLower;
|
|
255
|
+
i += 2;
|
|
256
|
+
matched = true;
|
|
257
|
+
}
|
|
258
|
+
// Two-digit patterns
|
|
259
|
+
else if (remaining.startsWith('06')) {
|
|
260
|
+
result += (year % 100).toString().padStart(2, '0');
|
|
261
|
+
i += 2;
|
|
262
|
+
matched = true;
|
|
263
|
+
}
|
|
264
|
+
else if (remaining.startsWith('_2')) {
|
|
265
|
+
result += dayOfMonth < 10 ? ' ' + dayOfMonth.toString() : dayOfMonth.toString();
|
|
266
|
+
i += 2;
|
|
267
|
+
matched = true;
|
|
268
|
+
}
|
|
269
|
+
else if (remaining.startsWith('03')) {
|
|
270
|
+
result += hour12.toString().padStart(2, '0');
|
|
271
|
+
i += 2;
|
|
272
|
+
matched = true;
|
|
273
|
+
}
|
|
274
|
+
else if (remaining.startsWith('01')) {
|
|
275
|
+
result += (month0 + 1).toString().padStart(2, '0');
|
|
276
|
+
i += 2;
|
|
277
|
+
matched = true;
|
|
278
|
+
}
|
|
279
|
+
else if (remaining.startsWith('02')) {
|
|
280
|
+
result += dayOfMonth.toString().padStart(2, '0');
|
|
281
|
+
i += 2;
|
|
282
|
+
matched = true;
|
|
283
|
+
}
|
|
284
|
+
else if (remaining.startsWith('04')) {
|
|
285
|
+
result += minute.toString().padStart(2, '0');
|
|
286
|
+
i += 2;
|
|
287
|
+
matched = true;
|
|
288
|
+
}
|
|
289
|
+
else if (remaining.startsWith('05')) {
|
|
290
|
+
result += second.toString().padStart(2, '0');
|
|
291
|
+
i += 2;
|
|
292
|
+
matched = true;
|
|
293
|
+
}
|
|
294
|
+
// Single digit patterns (must come after two-digit patterns)
|
|
295
|
+
else if (layout[i] === '3' && (i === 0 || !'0123456789'.includes(layout[i - 1]))) {
|
|
296
|
+
result += hour12.toString();
|
|
297
|
+
i += 1;
|
|
298
|
+
matched = true;
|
|
299
|
+
}
|
|
300
|
+
else if (layout[i] === '2' && (i === 0 || !'0123456789'.includes(layout[i - 1]))) {
|
|
301
|
+
result += dayOfMonth.toString();
|
|
302
|
+
i += 1;
|
|
303
|
+
matched = true;
|
|
304
|
+
}
|
|
305
|
+
else if (layout[i] === '1' && (i === 0 || !'0123456789'.includes(layout[i - 1]))) {
|
|
306
|
+
result += (month0 + 1).toString();
|
|
307
|
+
i += 1;
|
|
308
|
+
matched = true;
|
|
309
|
+
}
|
|
310
|
+
// Special Z handling for standalone Z
|
|
311
|
+
else if (layout[i] === 'Z' && !remaining.startsWith('Z0')) {
|
|
312
|
+
result += 'Z';
|
|
313
|
+
i += 1;
|
|
314
|
+
matched = true;
|
|
315
|
+
}
|
|
316
|
+
// If no pattern matched, copy the character literally
|
|
317
|
+
if (!matched) {
|
|
318
|
+
result += layout[i];
|
|
319
|
+
i += 1;
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
return result;
|
|
14
323
|
}
|
|
15
324
|
// Sub returns the duration t-u
|
|
16
325
|
// If both times have monotonic readings, use them for accurate duration calculation
|
|
@@ -32,7 +341,7 @@ export class Time {
|
|
|
32
341
|
const newDate = new globalThis.Date(this._date.getTime() + Math.floor(durationNs / 1000000));
|
|
33
342
|
const newNsec = this._nsec + (durationNs % 1000000);
|
|
34
343
|
const newMonotonic = this._monotonic !== undefined ? this._monotonic + durationNs : undefined;
|
|
35
|
-
return new Time(newDate, newNsec, newMonotonic);
|
|
344
|
+
return new Time(newDate, newNsec, newMonotonic, this._location);
|
|
36
345
|
}
|
|
37
346
|
// Equal reports whether t and u represent the same time instant
|
|
38
347
|
// Uses monotonic clock if both times have it
|
|
@@ -67,14 +376,14 @@ export class Time {
|
|
|
67
376
|
Round(d) {
|
|
68
377
|
// Implementation would round to nearest duration
|
|
69
378
|
// For now, simplified version that strips monotonic reading
|
|
70
|
-
return new Time(this._date, this._nsec);
|
|
379
|
+
return new Time(this._date, this._nsec, undefined, this._location);
|
|
71
380
|
}
|
|
72
381
|
// Truncate returns the result of rounding t down to a multiple of d
|
|
73
382
|
// Strips monotonic reading as per Go specification
|
|
74
383
|
Truncate(d) {
|
|
75
384
|
// Implementation would truncate to duration
|
|
76
385
|
// For now, simplified version that strips monotonic reading
|
|
77
|
-
return new Time(this._date, this._nsec);
|
|
386
|
+
return new Time(this._date, this._nsec, undefined, this._location);
|
|
78
387
|
}
|
|
79
388
|
// String returns the time formatted as a string
|
|
80
389
|
String() {
|
|
@@ -127,12 +436,17 @@ export function multiplyDuration(duration, multiplier) {
|
|
|
127
436
|
// Location represents a time zone
|
|
128
437
|
export class Location {
|
|
129
438
|
_name;
|
|
130
|
-
|
|
439
|
+
_offsetSeconds;
|
|
440
|
+
constructor(name, offsetSeconds) {
|
|
131
441
|
this._name = name;
|
|
442
|
+
this._offsetSeconds = offsetSeconds;
|
|
132
443
|
}
|
|
133
444
|
get name() {
|
|
134
445
|
return this._name;
|
|
135
446
|
}
|
|
447
|
+
get offsetSeconds() {
|
|
448
|
+
return this._offsetSeconds;
|
|
449
|
+
}
|
|
136
450
|
}
|
|
137
451
|
// Month represents a month of the year
|
|
138
452
|
export var Month;
|
|
@@ -168,19 +482,25 @@ export function Now() {
|
|
|
168
482
|
// Does not include monotonic reading as per Go specification
|
|
169
483
|
export function Date(year, month, day, hour, min, sec, nsec, loc) {
|
|
170
484
|
let date;
|
|
171
|
-
if (loc.
|
|
172
|
-
//
|
|
173
|
-
const
|
|
174
|
-
|
|
485
|
+
if (loc.offsetSeconds !== undefined) {
|
|
486
|
+
// For fixed timezone locations, create the date in the local timezone and then convert to UTC
|
|
487
|
+
const localTime = globalThis.Date.UTC(year, month - 1, day, hour, min, sec, Math.floor(nsec / 1000000));
|
|
488
|
+
// Subtract the offset to convert local time to UTC
|
|
489
|
+
// (if offset is -7*3600 for PDT, local time - (-7*3600) = local time + 7*3600 = UTC)
|
|
490
|
+
date = new globalThis.Date(localTime - loc.offsetSeconds * 1000);
|
|
175
491
|
}
|
|
176
492
|
else {
|
|
177
493
|
// For local time or other timezones, use regular Date constructor
|
|
178
494
|
date = new globalThis.Date(year, month - 1, day, hour, min, sec, Math.floor(nsec / 1000000));
|
|
179
495
|
}
|
|
180
|
-
return new Time(date, nsec %
|
|
496
|
+
return new Time(date, nsec % 1000000000, undefined, loc); // No monotonic reading
|
|
181
497
|
}
|
|
182
498
|
// Common locations
|
|
183
|
-
export const UTC = new Location('UTC');
|
|
499
|
+
export const UTC = new Location('UTC', 0);
|
|
500
|
+
// FixedZone returns a Location that always uses the given zone name and offset (seconds east of UTC)
|
|
501
|
+
export function FixedZone(name, offset) {
|
|
502
|
+
return new Location(name, offset);
|
|
503
|
+
}
|
|
184
504
|
// Common durations (matching Go's time package constants)
|
|
185
505
|
export const Nanosecond = new Duration(1);
|
|
186
506
|
export const Microsecond = new Duration(1000);
|
|
@@ -205,4 +525,9 @@ export async function Sleep(d) {
|
|
|
205
525
|
}
|
|
206
526
|
// Export month constants
|
|
207
527
|
export const May = Month.May;
|
|
528
|
+
// Time layout constants (matching Go's time package)
|
|
529
|
+
export const DateTime = "2006-01-02 15:04:05";
|
|
530
|
+
export const Layout = "01/02 03:04:05PM '06 -0700";
|
|
531
|
+
export const RFC3339 = "2006-01-02T15:04:05Z07:00";
|
|
532
|
+
export const Kitchen = "3:04PM";
|
|
208
533
|
//# sourceMappingURL=time.js.map
|
package/dist/gs/time/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../gs/time/time.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../../gs/time/time.ts"],"names":[],"mappings":"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"}
|
package/gs/builtin/builtin.ts
CHANGED
|
@@ -6,6 +6,19 @@ export * from './map.js'
|
|
|
6
6
|
export * from './slice.js'
|
|
7
7
|
export * from './type.js'
|
|
8
8
|
|
|
9
|
+
// int converts a value to a Go int type, handling proper signed integer conversion
|
|
10
|
+
// This ensures that values like 2147483648 (2^31) are properly handled according to Go semantics
|
|
11
|
+
export function int(value: number): number {
|
|
12
|
+
// In Go, int is typically 64-bit on 64-bit systems, but for compatibility with JavaScript
|
|
13
|
+
// we need to handle the conversion properly. The issue is that JavaScript's number type
|
|
14
|
+
// can represent values larger than 32-bit signed integers, but when cast in certain contexts
|
|
15
|
+
// they get interpreted as signed 32-bit integers.
|
|
16
|
+
|
|
17
|
+
// For Go's int type on 64-bit systems, we should preserve the full value
|
|
18
|
+
// since JavaScript numbers can safely represent integers up to Number.MAX_SAFE_INTEGER
|
|
19
|
+
return Math.trunc(value)
|
|
20
|
+
}
|
|
21
|
+
|
|
9
22
|
// Copy is the Go builtin function that copies the contents of one slice to another.
|
|
10
23
|
// It returns the number of elements copied.
|
|
11
24
|
export function copy<T>(
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
|
|
3
|
+
import * as errors from "@goscript/errors/index.js"
|
|
4
|
+
|
|
5
|
+
export let ErrInvalid: $.GoError = errors.New("invalid argument")
|
|
6
|
+
|
|
7
|
+
export let ErrPermission: $.GoError = errors.New("permission denied")
|
|
8
|
+
|
|
9
|
+
export let ErrExist: $.GoError = errors.New("file already exists")
|
|
10
|
+
|
|
11
|
+
export let ErrNotExist: $.GoError = errors.New("file does not exist")
|
|
12
|
+
|
|
13
|
+
export let ErrClosed: $.GoError = errors.New("file already closed")
|
|
14
|
+
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ErrClosed, ErrExist, ErrInvalid, ErrNotExist, ErrPermission } from "./errors.js"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
+
import { FileInfo, DirEntry, fileModeString, fileModeType } from "./fs.js";
|
|
3
|
+
|
|
4
|
+
import * as time from "@goscript/time/index.js"
|
|
5
|
+
|
|
6
|
+
// FormatFileInfo returns a formatted version of info for human readability.
|
|
7
|
+
// Implementations of [FileInfo] can call this from a String method.
|
|
8
|
+
// The output for a file named "hello.go", 100 bytes, mode 0o644, created
|
|
9
|
+
// January 1, 1970 at noon is
|
|
10
|
+
//
|
|
11
|
+
// -rw-r--r-- 100 1970-01-01 12:00:00 hello.go
|
|
12
|
+
export function FormatFileInfo(info: FileInfo): string {
|
|
13
|
+
let name = info!.Name()
|
|
14
|
+
let b: string[] = []
|
|
15
|
+
b.push(fileModeString(info!.Mode()))
|
|
16
|
+
b.push(" ")
|
|
17
|
+
|
|
18
|
+
let size = info!.Size()
|
|
19
|
+
let usize: number = 0
|
|
20
|
+
if (size >= 0) {
|
|
21
|
+
usize = (size as number)
|
|
22
|
+
} else {
|
|
23
|
+
b.push("-")
|
|
24
|
+
usize = (-size as number)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
b.push(usize.toString())
|
|
28
|
+
b.push(" ")
|
|
29
|
+
|
|
30
|
+
// Use a simple date format since time.DateTime is not available
|
|
31
|
+
b.push(info!.ModTime()!.Format(time.DateTime))
|
|
32
|
+
b.push(" ")
|
|
33
|
+
|
|
34
|
+
b.push(name)
|
|
35
|
+
if (info!.IsDir()) {
|
|
36
|
+
b.push("/")
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return b.join("")
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// FormatDirEntry returns a formatted version of dir for human readability.
|
|
43
|
+
// Implementations of [DirEntry] can call this from a String method.
|
|
44
|
+
// The outputs for a directory named subdir and a file named hello.go are:
|
|
45
|
+
//
|
|
46
|
+
// d subdir/
|
|
47
|
+
// - hello.go
|
|
48
|
+
export function FormatDirEntry(dir: DirEntry): string {
|
|
49
|
+
let name = dir!.Name()
|
|
50
|
+
let b: string[] = []
|
|
51
|
+
|
|
52
|
+
// The Type method does not return any permission bits,
|
|
53
|
+
// so strip them from the string.
|
|
54
|
+
let mode = fileModeString(dir!.Type())
|
|
55
|
+
mode = $.sliceString(mode, undefined, $.len(mode) - 9)
|
|
56
|
+
|
|
57
|
+
b.push(mode)
|
|
58
|
+
b.push(" ")
|
|
59
|
+
b.push(name)
|
|
60
|
+
if (dir!.IsDir()) {
|
|
61
|
+
b.push("/")
|
|
62
|
+
}
|
|
63
|
+
return b.join("")
|
|
64
|
+
}
|
|
65
|
+
|