goscript 0.0.47 → 0.0.49

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 (152) hide show
  1. package/cmd/goscript/deps.go +1 -4
  2. package/compiler/analysis.go +224 -63
  3. package/compiler/analysis_test.go +112 -0
  4. package/compiler/compiler.go +19 -87
  5. package/compiler/expr-call-type-conversion.go +148 -59
  6. package/compiler/expr-call.go +202 -10
  7. package/compiler/expr.go +5 -82
  8. package/compiler/gs_dependencies_test.go +60 -1
  9. package/compiler/spec-value.go +73 -51
  10. package/compiler/spec.go +293 -151
  11. package/compiler/stmt.go +192 -81
  12. package/dist/gs/builtin/builtin.d.ts +1 -5
  13. package/dist/gs/builtin/builtin.js +1 -34
  14. package/dist/gs/builtin/builtin.js.map +1 -1
  15. package/dist/gs/builtin/slice.js.map +1 -1
  16. package/dist/gs/fmt/fmt.js +20 -4
  17. package/dist/gs/fmt/fmt.js.map +1 -1
  18. package/dist/gs/io/fs/fs.d.ts +6 -12
  19. package/dist/gs/io/fs/fs.js +52 -67
  20. package/dist/gs/io/fs/fs.js.map +1 -1
  21. package/dist/gs/os/index.d.ts +2 -1
  22. package/dist/gs/os/index.js +1 -1
  23. package/dist/gs/os/index.js.map +1 -1
  24. package/dist/gs/os/types_js.gs.d.ts +7 -1
  25. package/dist/gs/os/types_js.gs.js +16 -1
  26. package/dist/gs/os/types_js.gs.js.map +1 -1
  27. package/dist/gs/os/types_unix.gs.js +2 -2
  28. package/dist/gs/os/types_unix.gs.js.map +1 -1
  29. package/dist/gs/reflect/index.d.ts +3 -3
  30. package/dist/gs/reflect/index.js +2 -2
  31. package/dist/gs/reflect/index.js.map +1 -1
  32. package/dist/gs/reflect/map.js +2 -2
  33. package/dist/gs/reflect/map.js.map +1 -1
  34. package/dist/gs/reflect/type.d.ts +8 -9
  35. package/dist/gs/reflect/type.js +101 -103
  36. package/dist/gs/reflect/type.js.map +1 -1
  37. package/dist/gs/reflect/types.d.ts +1 -10
  38. package/dist/gs/reflect/types.js +3 -26
  39. package/dist/gs/reflect/types.js.map +1 -1
  40. package/dist/gs/reflect/value.js +23 -23
  41. package/dist/gs/reflect/value.js.map +1 -1
  42. package/dist/gs/reflect/visiblefields.js +3 -3
  43. package/dist/gs/reflect/visiblefields.js.map +1 -1
  44. package/dist/gs/time/time.d.ts +11 -22
  45. package/dist/gs/time/time.js +29 -57
  46. package/dist/gs/time/time.js.map +1 -1
  47. package/gs/TODO.md +129 -0
  48. package/gs/builtin/builtin.ts +3 -41
  49. package/gs/builtin/slice.ts +1 -1
  50. package/gs/bytes/meta.json +10 -0
  51. package/gs/fmt/fmt.ts +18 -4
  52. package/gs/fmt/meta.json +5 -0
  53. package/gs/internal/meta.json +5 -0
  54. package/gs/io/fs/fs.ts +58 -73
  55. package/gs/io/meta.json +9 -0
  56. package/gs/maps/meta.json +6 -0
  57. package/gs/math/meta.json +5 -0
  58. package/gs/os/index.ts +8 -1
  59. package/gs/os/meta.json +15 -0
  60. package/gs/os/types_js.gs.ts +22 -1
  61. package/gs/os/types_unix.gs.ts +2 -2
  62. package/gs/path/meta.json +6 -0
  63. package/gs/reflect/function-types.test.ts +10 -10
  64. package/gs/reflect/index.ts +6 -6
  65. package/gs/reflect/map.ts +2 -2
  66. package/gs/reflect/meta.json +5 -0
  67. package/gs/reflect/type.ts +108 -103
  68. package/gs/reflect/types.ts +2 -28
  69. package/gs/reflect/value.ts +23 -23
  70. package/gs/reflect/visiblefields.ts +3 -3
  71. package/gs/strconv/meta.json +5 -0
  72. package/gs/strings/meta.json +9 -0
  73. package/gs/sync/meta.json +19 -0
  74. package/gs/time/time.ts +32 -65
  75. package/package.json +1 -1
  76. package/dist/gs/builtin/io.d.ts +0 -16
  77. package/dist/gs/builtin/io.js +0 -15
  78. package/dist/gs/builtin/io.js.map +0 -1
  79. package/dist/gs/internal/testlog/index.d.ts +0 -1
  80. package/dist/gs/internal/testlog/index.js +0 -5
  81. package/dist/gs/internal/testlog/index.js.map +0 -1
  82. package/dist/gs/maps/iter.gs.d.ts +0 -7
  83. package/dist/gs/maps/iter.gs.js +0 -65
  84. package/dist/gs/maps/iter.gs.js.map +0 -1
  85. package/dist/gs/maps/maps.gs.d.ts +0 -7
  86. package/dist/gs/maps/maps.gs.js +0 -79
  87. package/dist/gs/maps/maps.gs.js.map +0 -1
  88. package/dist/gs/reflect/abi.d.ts +0 -59
  89. package/dist/gs/reflect/abi.gs.d.ts +0 -59
  90. package/dist/gs/reflect/abi.gs.js +0 -79
  91. package/dist/gs/reflect/abi.gs.js.map +0 -1
  92. package/dist/gs/reflect/abi.js +0 -79
  93. package/dist/gs/reflect/abi.js.map +0 -1
  94. package/dist/gs/reflect/badlinkname.d.ts +0 -52
  95. package/dist/gs/reflect/badlinkname.gs.d.ts +0 -52
  96. package/dist/gs/reflect/badlinkname.gs.js +0 -72
  97. package/dist/gs/reflect/badlinkname.gs.js.map +0 -1
  98. package/dist/gs/reflect/badlinkname.js +0 -72
  99. package/dist/gs/reflect/badlinkname.js.map +0 -1
  100. package/dist/gs/reflect/deepequal.gs.d.ts +0 -25
  101. package/dist/gs/reflect/deepequal.gs.js +0 -308
  102. package/dist/gs/reflect/deepequal.gs.js.map +0 -1
  103. package/dist/gs/reflect/float32reg_generic.gs.d.ts +0 -2
  104. package/dist/gs/reflect/float32reg_generic.gs.js +0 -10
  105. package/dist/gs/reflect/float32reg_generic.gs.js.map +0 -1
  106. package/dist/gs/reflect/index.gs.d.ts +0 -1
  107. package/dist/gs/reflect/index.gs.js +0 -3
  108. package/dist/gs/reflect/index.gs.js.map +0 -1
  109. package/dist/gs/reflect/iter.gs.d.ts +0 -3
  110. package/dist/gs/reflect/iter.gs.js +0 -24
  111. package/dist/gs/reflect/iter.gs.js.map +0 -1
  112. package/dist/gs/reflect/makefunc.gs.d.ts +0 -34
  113. package/dist/gs/reflect/makefunc.gs.js +0 -288
  114. package/dist/gs/reflect/makefunc.gs.js.map +0 -1
  115. package/dist/gs/reflect/map_swiss.gs.d.ts +0 -14
  116. package/dist/gs/reflect/map_swiss.gs.js +0 -70
  117. package/dist/gs/reflect/map_swiss.gs.js.map +0 -1
  118. package/dist/gs/reflect/reflect.gs.d.ts +0 -132
  119. package/dist/gs/reflect/reflect.gs.js +0 -437
  120. package/dist/gs/reflect/reflect.gs.js.map +0 -1
  121. package/dist/gs/reflect/swapper.gs.d.ts +0 -1
  122. package/dist/gs/reflect/swapper.gs.js +0 -32
  123. package/dist/gs/reflect/swapper.gs.js.map +0 -1
  124. package/dist/gs/reflect/type.gs.d.ts +0 -4
  125. package/dist/gs/reflect/type.gs.js +0 -21
  126. package/dist/gs/reflect/type.gs.js.map +0 -1
  127. package/dist/gs/reflect/value.gs.d.ts +0 -4
  128. package/dist/gs/reflect/value.gs.js +0 -12
  129. package/dist/gs/reflect/value.gs.js.map +0 -1
  130. package/dist/gs/reflect/visiblefields.gs.d.ts +0 -3
  131. package/dist/gs/reflect/visiblefields.gs.js +0 -123
  132. package/dist/gs/reflect/visiblefields.gs.js.map +0 -1
  133. package/dist/gs/stringslite/index.d.ts +0 -1
  134. package/dist/gs/stringslite/index.js +0 -2
  135. package/dist/gs/stringslite/index.js.map +0 -1
  136. package/dist/gs/stringslite/strings.d.ts +0 -11
  137. package/dist/gs/stringslite/strings.js +0 -67
  138. package/dist/gs/stringslite/strings.js.map +0 -1
  139. package/gs/bytes/metadata.go +0 -12
  140. package/gs/fmt/metadata.go +0 -7
  141. package/gs/internal/metadata.go +0 -7
  142. package/gs/io/io.go +0 -75
  143. package/gs/io/metadata.go +0 -11
  144. package/gs/maps/metadata.go +0 -8
  145. package/gs/math/metadata.go +0 -7
  146. package/gs/os/metadata.go +0 -17
  147. package/gs/path/metadata.go +0 -8
  148. package/gs/reflect/metadata.go +0 -7
  149. package/gs/strconv/metadata.go +0 -7
  150. package/gs/strings/metadata.go +0 -11
  151. package/gs/sync/metadata.go +0 -7
  152. package/gs/sync/sync.go +0 -64
@@ -1 +1 @@
1
- {"version":3,"file":"visiblefields.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visiblefields.js","sourceRoot":"","sources":["../../../gs/reflect/visiblefields.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export declare class Time {
9
9
  UnixMilli(): number;
10
10
  UnixMicro(): number;
11
11
  UnixNano(): number;
12
- Weekday(): WeekdayValue;
12
+ Weekday(): Weekday;
13
13
  Day(): number;
14
14
  Month(): Month;
15
15
  Year(): number;
@@ -28,15 +28,9 @@ export declare class Time {
28
28
  Truncate(_d: Duration): Time;
29
29
  String(): string;
30
30
  }
31
- export declare class Duration {
32
- private _nanoseconds;
33
- constructor(nanoseconds: number);
34
- lt(other: Duration): boolean;
35
- static multiply(duration: Duration, multiplier: number): Duration;
36
- multiply(multiplier: number): Duration;
37
- valueOf(): number;
38
- toString(): string;
39
- }
31
+ export type Duration = number;
32
+ export declare function Duration_lt(receiver: Duration, other: Duration): boolean;
33
+ export declare function Duration_multiply(receiver: Duration, multiplier: number): Duration;
40
34
  export declare function multiplyDuration(duration: Duration, multiplier: number): Duration;
41
35
  export declare class Location {
42
36
  private _name;
@@ -70,12 +64,7 @@ export declare enum Weekday {
70
64
  Saturday = 6
71
65
  }
72
66
  export declare function WeekdayString(w: Weekday): string;
73
- export declare class WeekdayValue {
74
- private _value;
75
- constructor(value: Weekday);
76
- valueOf(): number;
77
- String(): string;
78
- }
67
+ export declare function Weekday_String(w: Weekday): string;
79
68
  export declare class ParseError extends Error {
80
69
  layout: string;
81
70
  value: string;
@@ -105,12 +94,12 @@ export declare function Now(): Time;
105
94
  export declare function Date(year: number, month: Month, day: number, hour: number, min: number, sec: number, nsec: number, loc: Location): Time;
106
95
  export declare const UTC: Location;
107
96
  export declare function FixedZone(name: string, offset: number): Location;
108
- export declare const Nanosecond: Duration;
109
- export declare const Microsecond: Duration;
110
- export declare const Millisecond: Duration;
111
- export declare const Second: Duration;
112
- export declare const Minute: Duration;
113
- export declare const Hour: Duration;
97
+ export declare const Nanosecond = 1;
98
+ export declare const Microsecond = 1000;
99
+ export declare const Millisecond = 1000000;
100
+ export declare const Second = 1000000000;
101
+ export declare const Minute = 60000000000;
102
+ export declare const Hour = 3600000000000;
114
103
  export declare function Since(t: Time): Duration;
115
104
  export declare function Until(t: Time): Duration;
116
105
  export declare function Sleep(d: Duration): Promise<void>;
@@ -35,9 +35,9 @@ export class Time {
35
35
  if (this._location.offsetSeconds !== undefined) {
36
36
  const offsetMs = this._location.offsetSeconds * 1000;
37
37
  const adjustedTime = new globalThis.Date(this._date.getTime() + offsetMs);
38
- return new WeekdayValue(adjustedTime.getUTCDay());
38
+ return adjustedTime.getUTCDay();
39
39
  }
40
- return new WeekdayValue(this._date.getDay());
40
+ return this._date.getDay();
41
41
  }
42
42
  // Day returns the day of the month specified by t
43
43
  Day() {
@@ -460,17 +460,17 @@ export class Time {
460
460
  // If both times have monotonic readings, use them for more accurate duration calculation
461
461
  if (this._monotonic !== undefined && u._monotonic !== undefined) {
462
462
  const diffNs = this._monotonic - u._monotonic;
463
- return new Duration(diffNs);
463
+ return diffNs;
464
464
  }
465
465
  // Fallback to Date-based calculation
466
466
  const diffMs = this._date.getTime() - u._date.getTime();
467
467
  const diffNs = this._nsec - u._nsec;
468
- return new Duration(diffMs * 1000000 + diffNs); // Convert ms to ns and add ns difference
468
+ return diffMs * 1000000 + diffNs;
469
469
  }
470
470
  // Add adds the duration d to t, returning the sum
471
471
  // Preserves monotonic reading if present
472
472
  Add(d) {
473
- const durationNs = d.valueOf();
473
+ const durationNs = d;
474
474
  const newDate = new globalThis.Date(this._date.getTime() + Math.floor(durationNs / 1000000));
475
475
  const newNsec = this._nsec + (durationNs % 1000000);
476
476
  const newMonotonic = this._monotonic !== undefined ? this._monotonic + durationNs : undefined;
@@ -535,36 +535,17 @@ export class Time {
535
535
  return result;
536
536
  }
537
537
  }
538
- // Duration represents a span of time
539
- export class Duration {
540
- _nanoseconds;
541
- constructor(nanoseconds) {
542
- this._nanoseconds = nanoseconds;
543
- }
544
- // Compare this duration with another
545
- lt(other) {
546
- return this._nanoseconds < other._nanoseconds;
547
- }
548
- // Multiply duration by a number (for expressions like Hour * 24)
549
- static multiply(duration, multiplier) {
550
- return new Duration(duration._nanoseconds * multiplier);
551
- }
552
- // Add support for * operator
553
- multiply(multiplier) {
554
- return Duration.multiply(this, multiplier);
555
- }
556
- // valueOf returns the primitive number value, allowing direct comparison with < > etc
557
- valueOf() {
558
- return this._nanoseconds;
559
- }
560
- // toString for string representation
561
- toString() {
562
- return this._nanoseconds.toString() + 'ns';
563
- }
538
+ // Duration comparison function
539
+ export function Duration_lt(receiver, other) {
540
+ return receiver < other;
541
+ }
542
+ // Duration multiplication function
543
+ export function Duration_multiply(receiver, multiplier) {
544
+ return receiver * multiplier;
564
545
  }
565
546
  // Override multiplication operator for Duration * number
566
547
  export function multiplyDuration(duration, multiplier) {
567
- return Duration.multiply(duration, multiplier);
548
+ return duration * multiplier;
568
549
  }
569
550
  // Location represents a time zone
570
551
  export class Location {
@@ -625,18 +606,9 @@ export function WeekdayString(w) {
625
606
  ];
626
607
  return names[w] || 'Unknown';
627
608
  }
628
- // WeekdayValue wraps a Weekday enum value and provides methods
629
- export class WeekdayValue {
630
- _value;
631
- constructor(value) {
632
- this._value = value;
633
- }
634
- valueOf() {
635
- return this._value;
636
- }
637
- String() {
638
- return WeekdayString(this._value);
639
- }
609
+ // Weekday_String returns the string representation of a Weekday (wrapper function naming)
610
+ export function Weekday_String(w) {
611
+ return WeekdayString(w);
640
612
  }
641
613
  // ParseError describes a problem parsing a time string
642
614
  export class ParseError extends Error {
@@ -663,7 +635,7 @@ export class Timer {
663
635
  constructor(duration, callback) {
664
636
  this._duration = duration;
665
637
  this._callback = callback;
666
- const ms = duration.valueOf() / 1000000; // Convert nanoseconds to milliseconds
638
+ const ms = duration / 1000000; // Convert nanoseconds to milliseconds
667
639
  if (callback) {
668
640
  this._timeout = setTimeout(callback, ms);
669
641
  }
@@ -684,7 +656,7 @@ export class Timer {
684
656
  // Reset changes the timer to expire after duration d
685
657
  Reset(d) {
686
658
  this.Stop();
687
- const ms = d.valueOf() / 1000000;
659
+ const ms = d / 1000000;
688
660
  if (this._callback) {
689
661
  this._timeout = setTimeout(this._callback, ms);
690
662
  }
@@ -701,7 +673,7 @@ export class Ticker {
701
673
  _stopped = false;
702
674
  constructor(duration) {
703
675
  this._duration = duration;
704
- const ms = duration.valueOf() / 1000000; // Convert nanoseconds to milliseconds
676
+ const ms = duration / 1000000; // Convert nanoseconds to milliseconds
705
677
  this._interval = setInterval(() => { }, ms);
706
678
  }
707
679
  // Stop turns off a ticker
@@ -719,12 +691,12 @@ export class Ticker {
719
691
  this.Stop();
720
692
  this._stopped = false;
721
693
  this._duration = d;
722
- const ms = d.valueOf() / 1000000;
694
+ const ms = d / 1000000;
723
695
  this._interval = setInterval(() => { }, ms);
724
696
  }
725
697
  // Channel returns an async iterator that yields time values
726
698
  async *Channel() {
727
- const ms = this._duration.valueOf() / 1000000;
699
+ const ms = this._duration / 1000000;
728
700
  while (!this._stopped) {
729
701
  await new Promise((resolve) => setTimeout(resolve, ms));
730
702
  if (!this._stopped) {
@@ -771,12 +743,12 @@ export function FixedZone(name, offset) {
771
743
  return new Location(name, offset);
772
744
  }
773
745
  // Common durations (matching Go's time package constants)
774
- export const Nanosecond = new Duration(1);
775
- export const Microsecond = new Duration(1000);
776
- export const Millisecond = new Duration(1000000);
777
- export const Second = new Duration(1000000000);
778
- export const Minute = new Duration(60000000000);
779
- export const Hour = new Duration(3600000000000);
746
+ export const Nanosecond = 1;
747
+ export const Microsecond = 1000;
748
+ export const Millisecond = 1000000;
749
+ export const Second = 1000000000;
750
+ export const Minute = 60000000000;
751
+ export const Hour = 3600000000000;
780
752
  // Since returns the time elapsed since t
781
753
  // Uses monotonic clock if available for accurate measurement
782
754
  export function Since(t) {
@@ -789,7 +761,7 @@ export function Until(t) {
789
761
  }
790
762
  // Sleep pauses the current execution for at least the duration d
791
763
  export async function Sleep(d) {
792
- const ms = d.valueOf() / 1000000; // Convert nanoseconds to milliseconds
764
+ const ms = d / 1000000; // Convert nanoseconds to milliseconds
793
765
  return new Promise((resolve) => setTimeout(resolve, ms));
794
766
  }
795
767
  // Export month constants
@@ -862,7 +834,7 @@ export function ParseDuration(s) {
862
834
  default:
863
835
  throw new Error(`time: unknown unit "${unit}" in duration "${s}"`);
864
836
  }
865
- return new Duration(Math.floor(nanoseconds));
837
+ return nanoseconds;
866
838
  }
867
839
  // Parse parses a formatted string and returns the time value it represents
868
840
  export function Parse(layout, value) {
@@ -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/TODO.md ADDED
@@ -0,0 +1,129 @@
1
+ # TODO: Wrapper Type Refactor for gs/ Directory
2
+
3
+ ## Overview
4
+ The compiler has been refactored to generate wrapper types as type aliases instead of classes, with methods as standalone functions. This requires corresponding updates to the gs/ directory to remove the old class-based implementations and valueOf type parameters.
5
+
6
+ ## Required Changes
7
+
8
+ ### 1. Remove Wrapper Type Classes
9
+ All wrapper type classes in gs/ need to be converted to type aliases with standalone functions:
10
+
11
+ **Current pattern (to be removed):**
12
+ ```typescript
13
+ export class FileMode {
14
+ constructor(private _value: number) {}
15
+
16
+ valueOf(): number {
17
+ return this._value;
18
+ }
19
+
20
+ String(): string {
21
+ return fileModeString(this._value);
22
+ }
23
+
24
+ IsDir(): boolean {
25
+ return (this._value & ModeDir) !== 0;
26
+ }
27
+ }
28
+ ```
29
+
30
+ **New pattern (to implement):**
31
+ ```typescript
32
+ export type FileMode = number;
33
+
34
+ export function FileMode_String(receiver: FileMode): string {
35
+ return fileModeString(receiver);
36
+ }
37
+
38
+ export function FileMode_IsDir(receiver: FileMode): boolean {
39
+ return (receiver & ModeDir) !== 0;
40
+ }
41
+ ```
42
+
43
+ ### 2. Files that need wrapper type refactoring:
44
+ - `gs/os/types_js.gs.ts` - FileMode and other os types
45
+ - `gs/time/time.ts` - Duration and other time types
46
+ - `gs/syscall/` - Various syscall wrapper types
47
+ - Any other files that implement wrapper types as classes
48
+
49
+ ### 3. Remove valueOf Type Parameters
50
+ The `@builtin` package needs to be updated to remove valueOf type parameters from builtin functions.
51
+
52
+ **Current pattern (to be removed):**
53
+ ```typescript
54
+ function int<T extends { valueOf(): number }>(value: T): number {
55
+ return value.valueOf();
56
+ }
57
+ ```
58
+
59
+ **New pattern (to implement):**
60
+ ```typescript
61
+ function int(value: number): number {
62
+ return value;
63
+ }
64
+ ```
65
+
66
+ ### 4. Update Method Call Sites
67
+ Any existing method call sites in gs/ files need to be updated:
68
+
69
+ **Current pattern (to be updated):**
70
+ ```typescript
71
+ mode.String() // method call on wrapper class
72
+ ```
73
+
74
+ **New pattern:**
75
+ ```typescript
76
+ FileMode_String(mode) // function call with receiver
77
+ ```
78
+
79
+ ### 5. Remove .valueOf() Calls
80
+ The compiler still generates `.valueOf()` calls for wrapper types. These need to be eliminated:
81
+
82
+ **Current generated pattern (to be fixed):**
83
+ ```typescript
84
+ return receiver.valueOf() & 0o111;
85
+ ```
86
+
87
+ **Target pattern:**
88
+ ```typescript
89
+ return receiver & 0o111;
90
+ ```
91
+
92
+ ## Implementation Notes
93
+
94
+ ### Analysis Changes Completed
95
+ - ✅ Modified analysis to detect wrapper types ahead of time
96
+ - ✅ Added receiver mapping for wrapper function identifiers
97
+ - ✅ Removed shadowingContext dependency
98
+
99
+ ### Compiler Changes Completed
100
+ - ✅ Updated `WriteNamedTypeWithMethods()` to generate type aliases
101
+ - ✅ Updated method call handling to use function calls
102
+ - ✅ Updated type conversion logic for wrapper types
103
+ - ✅ Removed constructor generation for wrapper types
104
+
105
+ ### Remaining Compiler Issues
106
+ - ❌ Stop generating `.valueOf()` calls for wrapper types in:
107
+ - `compiler/expr.go` - `needsValueOfForBitwiseOp()` function
108
+ - `compiler/expr-call-type-conversion.go` - various conversion functions
109
+ - Need to update logic to not add `.valueOf()` for wrapper types since they're now primitive types
110
+
111
+ ### Testing
112
+ Use the `wrapper_type_args` compliance test to verify changes:
113
+ ```bash
114
+ go test -timeout 30s -run ^TestCompliance/wrapper_type_args$ ./compiler
115
+ ```
116
+
117
+ ## Migration Strategy
118
+ 1. First complete the compiler changes to stop generating `.valueOf()` calls
119
+ 2. Update each gs/ package incrementally
120
+ 3. Test each package after refactoring
121
+ 4. Update builtin functions to remove valueOf type parameters
122
+ 5. Run full test suite to ensure compatibility
123
+
124
+ ## Benefits After Completion
125
+ - Cleaner generated TypeScript code
126
+ - Better performance (no wrapper class overhead)
127
+ - More idiomatic TypeScript types
128
+ - Simplified runtime type system
129
+ - Easier debugging and maintenance
@@ -23,7 +23,7 @@ export type Bytes = Uint8Array | Slice<number>
23
23
 
24
24
  // int converts a value to a Go int type, handling proper signed integer conversion
25
25
  // This ensures that values like 2147483648 (2^31) are properly handled according to Go semantics
26
- export function int(value: number | { valueOf(): number | null }): number {
26
+ export function int(value: number): number {
27
27
  // In Go, int is typically 64-bit on 64-bit systems, but for compatibility with JavaScript
28
28
  // we need to handle the conversion properly. The issue is that JavaScript's number type
29
29
  // can represent values larger than 32-bit signed integers, but when cast in certain contexts
@@ -33,38 +33,13 @@ export function int(value: number | { valueOf(): number | null }): number {
33
33
  // since JavaScript numbers can safely represent integers up to Number.MAX_SAFE_INTEGER
34
34
  //
35
35
  // For this we use Math.trunc.
36
- if (typeof value === 'object' && 'valueOf' in value) {
37
- return Math.trunc(value.valueOf() ?? 0)
38
- }
39
36
  return Math.trunc(value)
40
37
  }
41
38
 
42
39
  // Duration multiplication helper for time package operations
43
40
  // Handles expressions like time.Hour * 24
44
41
  export function multiplyDuration(duration: any, multiplier: number): any {
45
- // Check if duration has a multiply method (like our Duration class)
46
- if (duration && typeof duration.multiply === 'function') {
47
- return duration.multiply(multiplier)
48
- }
49
-
50
- // Check if duration has a valueOf method for numeric operations
51
- if (duration && typeof duration.valueOf === 'function') {
52
- const numValue = duration.valueOf()
53
- // Return an object with the same structure but multiplied value
54
- if (typeof numValue === 'number') {
55
- // Try to create a new instance of the same type
56
- if (duration.constructor) {
57
- return new duration.constructor(numValue * multiplier)
58
- }
59
- // Fallback: return a simple object with valueOf
60
- return {
61
- valueOf: () => numValue * multiplier,
62
- toString: () => (numValue * multiplier).toString() + 'ns',
63
- }
64
- }
65
- }
66
-
67
- // Fallback for simple numeric values
42
+ // Duration is now a number type alias, so just multiply directly
68
43
  if (typeof duration === 'number') {
69
44
  return duration * multiplier
70
45
  }
@@ -91,8 +66,7 @@ export function normalizeBytes(
91
66
  | number[]
92
67
  | null
93
68
  | undefined
94
- | { data: number[] }
95
- | { valueOf(): number[] },
69
+ | { data: number[] },
96
70
  ): Uint8Array {
97
71
  if (bytes === null || bytes === undefined) {
98
72
  return new Uint8Array(0)
@@ -117,18 +91,6 @@ export function normalizeBytes(
117
91
  return new Uint8Array(bytes)
118
92
  }
119
93
 
120
- // Handle objects with valueOf() method that returns a number array
121
- if (
122
- bytes &&
123
- typeof bytes === 'object' &&
124
- 'valueOf' in bytes &&
125
- typeof bytes.valueOf === 'function'
126
- ) {
127
- const value = bytes.valueOf()
128
- if (Array.isArray(value)) {
129
- return new Uint8Array(value)
130
- }
131
- }
132
94
 
133
95
  throw new Error(`Cannot normalize bytes of type ${typeof bytes}: ${bytes}`)
134
96
  }
@@ -500,7 +500,7 @@ export const arrayToSlice = <T>(
500
500
  // OPTIMIZATION: For arrays where offset=0 and length=capacity, return the array directly
501
501
  // if we're not doing deep conversion
502
502
  if (depth === 1) {
503
- return arr as Slice<T>
503
+ return arr
504
504
  }
505
505
 
506
506
  const target = {
@@ -0,0 +1,10 @@
1
+ {
2
+ "dependencies": [
3
+ "errors",
4
+ "io",
5
+ "iter",
6
+ "unicode",
7
+ "unicode/utf8",
8
+ "unsafe"
9
+ ]
10
+ }