goscript 0.0.28 → 0.0.30

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.
Files changed (74) hide show
  1. package/compiler/analysis.go +41 -2
  2. package/compiler/compiler.go +8 -1
  3. package/compiler/expr-call.go +87 -15
  4. package/compiler/expr-selector.go +100 -0
  5. package/compiler/spec-value.go +79 -8
  6. package/compiler/spec.go +236 -0
  7. package/dist/gs/builtin/builtin.d.ts +1 -0
  8. package/dist/gs/builtin/builtin.js +11 -0
  9. package/dist/gs/builtin/builtin.js.map +1 -1
  10. package/dist/gs/internal/oserror/errors.d.ts +6 -0
  11. package/dist/gs/internal/oserror/errors.js +7 -0
  12. package/dist/gs/internal/oserror/errors.js.map +1 -0
  13. package/dist/gs/internal/oserror/index.d.ts +1 -0
  14. package/dist/gs/internal/oserror/index.js +2 -0
  15. package/dist/gs/internal/oserror/index.js.map +1 -0
  16. package/dist/gs/io/fs/format.d.ts +3 -0
  17. package/dist/gs/io/fs/format.js +56 -0
  18. package/dist/gs/io/fs/format.js.map +1 -0
  19. package/dist/gs/io/fs/fs.d.ts +79 -0
  20. package/dist/gs/io/fs/fs.js +200 -0
  21. package/dist/gs/io/fs/fs.js.map +1 -0
  22. package/dist/gs/io/fs/glob.d.ts +10 -0
  23. package/dist/gs/io/fs/glob.js +141 -0
  24. package/dist/gs/io/fs/glob.js.map +1 -0
  25. package/dist/gs/io/fs/index.d.ts +8 -0
  26. package/dist/gs/io/fs/index.js +9 -0
  27. package/dist/gs/io/fs/index.js.map +1 -0
  28. package/dist/gs/io/fs/readdir.d.ts +7 -0
  29. package/dist/gs/io/fs/readdir.js +152 -0
  30. package/dist/gs/io/fs/readdir.js.map +1 -0
  31. package/dist/gs/io/fs/readfile.d.ts +6 -0
  32. package/dist/gs/io/fs/readfile.js +118 -0
  33. package/dist/gs/io/fs/readfile.js.map +1 -0
  34. package/dist/gs/io/fs/stat.d.ts +6 -0
  35. package/dist/gs/io/fs/stat.js +87 -0
  36. package/dist/gs/io/fs/stat.js.map +1 -0
  37. package/dist/gs/io/fs/sub.d.ts +6 -0
  38. package/dist/gs/io/fs/sub.js +172 -0
  39. package/dist/gs/io/fs/sub.js.map +1 -0
  40. package/dist/gs/io/fs/walk.d.ts +7 -0
  41. package/dist/gs/io/fs/walk.js +76 -0
  42. package/dist/gs/io/fs/walk.js.map +1 -0
  43. package/dist/gs/path/index.d.ts +2 -0
  44. package/dist/gs/path/index.js +3 -0
  45. package/dist/gs/path/index.js.map +1 -0
  46. package/dist/gs/path/match.d.ts +6 -0
  47. package/dist/gs/path/match.js +281 -0
  48. package/dist/gs/path/match.js.map +1 -0
  49. package/dist/gs/path/path.d.ts +7 -0
  50. package/dist/gs/path/path.js +256 -0
  51. package/dist/gs/path/path.js.map +1 -0
  52. package/dist/gs/time/time.d.ts +11 -2
  53. package/dist/gs/time/time.js +337 -12
  54. package/dist/gs/time/time.js.map +1 -1
  55. package/gs/builtin/builtin.ts +13 -0
  56. package/gs/internal/oserror/errors.ts +14 -0
  57. package/gs/internal/oserror/index.ts +1 -0
  58. package/gs/io/fs/format.ts +65 -0
  59. package/gs/io/fs/fs.ts +359 -0
  60. package/gs/io/fs/glob.ts +167 -0
  61. package/gs/io/fs/godoc.txt +35 -0
  62. package/gs/io/fs/index.ts +8 -0
  63. package/gs/io/fs/readdir.ts +126 -0
  64. package/gs/io/fs/readfile.ts +77 -0
  65. package/gs/io/fs/stat.ts +38 -0
  66. package/gs/io/fs/sub.ts +208 -0
  67. package/gs/io/fs/walk.ts +89 -0
  68. package/gs/path/index.ts +2 -0
  69. package/gs/path/match.ts +307 -0
  70. package/gs/path/path.ts +301 -0
  71. package/gs/strings/reader.test.ts +0 -1
  72. package/gs/time/time.ts +325 -12
  73. package/package.json +1 -1
  74. 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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"}
@@ -2,8 +2,10 @@ export declare class Time {
2
2
  private _date;
3
3
  private _nsec;
4
4
  private _monotonic?;
5
- constructor(date: globalThis.Date, nsec?: number, monotonic?: number);
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
- constructor(name: string);
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";
@@ -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
- constructor(date, nsec = 0, monotonic) {
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
- constructor(name) {
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.name === 'UTC') {
172
- // Use Date.UTC for proper UTC handling
173
- const utcTime = globalThis.Date.UTC(year, month - 1, day, hour, min, sec, Math.floor(nsec / 1000000));
174
- date = new globalThis.Date(utcTime);
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 % 1000000); // No monotonic reading
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
@@ -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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"}
@@ -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
+