goscript 0.0.52 → 0.0.54

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
@@ -1,13 +1,11 @@
1
1
  # GoScript
2
2
 
3
- [![GoDoc Widget]][GoDoc] [![Go Report Card Widget]][Go Report Card] [![DeepWiki Widget]][DeepWiki]
3
+ [![GoDoc Widget]][GoDoc] [![Go Report Card Widget]][Go Report Card] [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/aperturerobotics/goscript)
4
4
 
5
5
  [GoDoc]: https://godoc.org/github.com/aperturerobotics/goscript
6
6
  [GoDoc Widget]: https://godoc.org/github.com/aperturerobotics/goscript?status.svg
7
7
  [Go Report Card Widget]: https://goreportcard.com/badge/github.com/aperturerobotics/goscript
8
8
  [Go Report Card]: https://goreportcard.com/report/github.com/aperturerobotics/goscript
9
- [DeepWiki Widget]: https://img.shields.io/badge/DeepWiki-aperturerobotics%2Fgoscript-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==
10
- [DeepWiki]: https://deepwiki.com/aperturerobotics/goscript
11
9
 
12
10
  ## What is GoScript?
13
11
 
@@ -747,12 +747,12 @@ func (v *analysisVisitor) visitBlockStmt(n *ast.BlockStmt) ast.Visitor {
747
747
 
748
748
  // visitCallExpr handles call expression analysis
749
749
  func (v *analysisVisitor) visitCallExpr(n *ast.CallExpr) ast.Visitor {
750
- // Note: Async function call detection is now handled by the second analysis phase
751
- // This ensures consistent handling of all async patterns including external packages
752
-
753
750
  // Check for reflect function calls that operate on functions
754
751
  v.checkReflectUsage(n)
755
752
 
753
+ // Track interface implementations from function call arguments
754
+ v.trackInterfaceCallArguments(n)
755
+
756
756
  return v
757
757
  }
758
758
 
@@ -1025,10 +1025,7 @@ func AnalyzePackageFiles(pkg *packages.Package, allPackages map[string]*packages
1025
1025
  })
1026
1026
  }
1027
1027
 
1028
- // Second pass: comprehensive async analysis for all methods
1029
- visitor.analyzeAllMethodsAsync()
1030
-
1031
- // Third pass: analyze interface implementations now that all function async status is determined
1028
+ // Second pass: analyze interface implementations first
1032
1029
  interfaceVisitor := &interfaceImplementationVisitor{
1033
1030
  analysis: analysis,
1034
1031
  pkg: pkg,
@@ -1037,6 +1034,10 @@ func AnalyzePackageFiles(pkg *packages.Package, allPackages map[string]*packages
1037
1034
  ast.Walk(interfaceVisitor, file)
1038
1035
  }
1039
1036
 
1037
+ // Third pass: comprehensive async analysis for all methods
1038
+ // Interface implementation async status is now updated on-demand in IsInterfaceMethodAsync
1039
+ visitor.analyzeAllMethodsAsync()
1040
+
1040
1041
  return analysis
1041
1042
  }
1042
1043
 
@@ -1538,6 +1539,26 @@ func (a *Analysis) IsInterfaceMethodAsync(interfaceType *types.Interface, method
1538
1539
  return false
1539
1540
  }
1540
1541
 
1542
+ // Update implementations with current async status before checking
1543
+ for i := range implementations {
1544
+ impl := &implementations[i]
1545
+
1546
+ // Create method key for this implementation
1547
+ methodKey := MethodKey{
1548
+ PackagePath: impl.StructType.Obj().Pkg().Path(),
1549
+ ReceiverType: impl.StructType.Obj().Name(),
1550
+ MethodName: impl.Method.Name(),
1551
+ }
1552
+
1553
+ // Update with current async status from method analysis
1554
+ if isAsync, exists := a.MethodAsyncStatus[methodKey]; exists {
1555
+ impl.IsAsyncByFlow = isAsync
1556
+ }
1557
+ }
1558
+
1559
+ // Store the updated implementations back to the map
1560
+ a.InterfaceImplementations[key] = implementations
1561
+
1541
1562
  // If ANY implementation is async, the interface method is async
1542
1563
  for _, impl := range implementations {
1543
1564
  if impl.IsAsyncByFlow {
@@ -1803,6 +1824,67 @@ func (v *analysisVisitor) trackInterfaceAssignments(assignStmt *ast.AssignStmt)
1803
1824
  }
1804
1825
  }
1805
1826
 
1827
+ // trackInterfaceCallArguments analyzes function call arguments to detect interface implementations
1828
+ func (v *analysisVisitor) trackInterfaceCallArguments(callExpr *ast.CallExpr) {
1829
+ // Get the function signature to determine parameter types
1830
+ var funcType *types.Signature
1831
+
1832
+ if callFunType := v.pkg.TypesInfo.TypeOf(callExpr.Fun); callFunType != nil {
1833
+ if sig, ok := callFunType.(*types.Signature); ok {
1834
+ funcType = sig
1835
+ }
1836
+ }
1837
+
1838
+ if funcType == nil {
1839
+ return
1840
+ }
1841
+
1842
+ // Check each argument against its corresponding parameter
1843
+ params := funcType.Params()
1844
+ for i, arg := range callExpr.Args {
1845
+ if i >= params.Len() {
1846
+ break // More arguments than parameters (variadic case)
1847
+ }
1848
+
1849
+ paramType := params.At(i).Type()
1850
+
1851
+ // Check if the parameter is an interface type
1852
+ interfaceType, isInterface := paramType.Underlying().(*types.Interface)
1853
+ if !isInterface {
1854
+ continue
1855
+ }
1856
+
1857
+ // Get the type of the argument
1858
+ argType := v.pkg.TypesInfo.TypeOf(arg)
1859
+ if argType == nil {
1860
+ continue
1861
+ }
1862
+
1863
+ // Handle pointer types
1864
+ if ptrType, isPtr := argType.(*types.Pointer); isPtr {
1865
+ argType = ptrType.Elem()
1866
+ }
1867
+
1868
+ // Check if argument is a named struct type
1869
+ namedType, isNamed := argType.(*types.Named)
1870
+ if !isNamed {
1871
+ continue
1872
+ }
1873
+
1874
+ // Track implementations for all interface methods
1875
+ for j := 0; j < interfaceType.NumExplicitMethods(); j++ {
1876
+ interfaceMethod := interfaceType.ExplicitMethod(j)
1877
+
1878
+ structMethod := v.findStructMethod(namedType, interfaceMethod.Name())
1879
+ if structMethod != nil {
1880
+ // Note: Don't determine async status here - it will be determined later after method analysis
1881
+ // For now, just track the implementation relationship without async status
1882
+ v.analysis.trackInterfaceImplementation(interfaceType, namedType, structMethod, false)
1883
+ }
1884
+ }
1885
+ }
1886
+ }
1887
+
1806
1888
  // IsNamedBasicType returns whether the given type should be implemented as a type alias with standalone functions
1807
1889
  // This applies to named types with basic underlying types (like uint32, string, etc.) that have methods
1808
1890
  // It excludes struct types, which should remain as classes
@@ -2197,7 +2279,16 @@ func (v *analysisVisitor) isCallAsync(callExpr *ast.CallExpr, pkg *packages.Pack
2197
2279
  }
2198
2280
  }
2199
2281
 
2200
- // Method call on objects
2282
+ // Check if this is an interface method call
2283
+ if receiverType := pkg.TypesInfo.TypeOf(fun.X); receiverType != nil {
2284
+ if interfaceType, isInterface := receiverType.Underlying().(*types.Interface); isInterface {
2285
+ methodName := fun.Sel.Name
2286
+ // For interface method calls, check if the interface method is async
2287
+ return v.analysis.IsInterfaceMethodAsync(interfaceType, methodName)
2288
+ }
2289
+ }
2290
+
2291
+ // Method call on concrete objects
2201
2292
  if selection := pkg.TypesInfo.Selections[fun]; selection != nil {
2202
2293
  if methodObj := selection.Obj(); methodObj != nil {
2203
2294
  return v.isMethodAsyncFromSelection(fun, methodObj, pkg)
@@ -2376,3 +2467,31 @@ func (a *Analysis) IsLocalMethodAsync(pkgPath, receiverType, methodName string)
2376
2467
 
2377
2468
  return false
2378
2469
  }
2470
+
2471
+ // updateInterfaceImplementationAsyncStatus updates interface implementations with correct async status
2472
+ // This runs after method async analysis is complete
2473
+ func (v *analysisVisitor) updateInterfaceImplementationAsyncStatus() {
2474
+ // Iterate through all tracked interface implementations and update their async status
2475
+ for key, implementations := range v.analysis.InterfaceImplementations {
2476
+ // Remove duplicates first
2477
+ seenMethods := make(map[string]bool)
2478
+ uniqueImplementations := []ImplementationInfo{}
2479
+
2480
+ for _, impl := range implementations {
2481
+ methodKey := impl.StructType.Obj().Name() + "." + key.MethodName
2482
+ if !seenMethods[methodKey] {
2483
+ seenMethods[methodKey] = true
2484
+
2485
+ // Now that method async analysis is complete, get the correct async status
2486
+ isAsync := v.analysis.IsAsyncFunc(impl.Method)
2487
+
2488
+ // Update the implementation with the correct async status
2489
+ impl.IsAsyncByFlow = isAsync
2490
+ uniqueImplementations = append(uniqueImplementations, impl)
2491
+ }
2492
+ }
2493
+
2494
+ // Store the updated implementations without duplicates
2495
+ v.analysis.InterfaceImplementations[key] = uniqueImplementations
2496
+ }
2497
+ }
@@ -595,10 +595,15 @@ func (c *FileCompiler) Compile(ctx context.Context) error {
595
595
  for _, sourceFile := range sourceFiles {
596
596
  functions := imports[sourceFile]
597
597
  if len(functions) > 0 {
598
+ // Apply sanitization to function names
599
+ var sanitizedFunctions []string
600
+ for _, fn := range functions {
601
+ sanitizedFunctions = append(sanitizedFunctions, sanitizeIdentifier(fn))
602
+ }
598
603
  // Sort functions for consistent output
599
- sort.Strings(functions)
604
+ sort.Strings(sanitizedFunctions)
600
605
  c.codeWriter.WriteLinef("import { %s } from \"./%s.gs.js\";",
601
- strings.Join(functions, ", "), sourceFile)
606
+ strings.Join(sanitizedFunctions, ", "), sourceFile)
602
607
  }
603
608
  }
604
609
  }
@@ -649,10 +654,15 @@ func (c *FileCompiler) Compile(ctx context.Context) error {
649
654
  }
650
655
 
651
656
  if len(nonProtobufTypes) > 0 {
657
+ // Apply sanitization to type names
658
+ var sanitizedTypes []string
659
+ for _, typeName := range nonProtobufTypes {
660
+ sanitizedTypes = append(sanitizedTypes, sanitizeIdentifier(typeName))
661
+ }
652
662
  // Sort types for consistent output
653
- sort.Strings(nonProtobufTypes)
663
+ sort.Strings(sanitizedTypes)
654
664
  c.codeWriter.WriteLinef("import { %s } from \"./%s.gs.js\";",
655
- strings.Join(nonProtobufTypes, ", "), sourceFile)
665
+ strings.Join(sanitizedTypes, ", "), sourceFile)
656
666
  }
657
667
  }
658
668
  }
@@ -90,6 +90,18 @@ func (c *GoToTSCompiler) writeAsyncCallIfNeeded(exp *ast.CallExpr) bool {
90
90
  }
91
91
  }
92
92
 
93
+ methodName := fun.Sel.Name
94
+
95
+ // Check if target type is an interface
96
+ if interfaceType, isInterface := targetType.Underlying().(*types.Interface); isInterface {
97
+ // Interface method call: use interface method async analysis
98
+ if c.analysis.IsInterfaceMethodAsync(interfaceType, methodName) {
99
+ c.tsw.WriteLiterally("await ")
100
+ return true
101
+ }
102
+ return false
103
+ }
104
+
93
105
  // Get the named type from the target type
94
106
  var namedType *types.Named
95
107
  var namedTypeOk bool
@@ -109,7 +121,6 @@ func (c *GoToTSCompiler) writeAsyncCallIfNeeded(exp *ast.CallExpr) bool {
109
121
  }
110
122
 
111
123
  typeName := namedType.Obj().Name()
112
- methodName := fun.Sel.Name
113
124
 
114
125
  // Determine the package path for the method
115
126
  var pkgPath string
package/compiler/spec.go CHANGED
@@ -623,6 +623,9 @@ func (c *GoToTSCompiler) WriteImportSpec(a *ast.ImportSpec) {
623
623
  }
624
624
  }
625
625
 
626
+ // Apply sanitization to handle known names like "Promise" -> "PromiseType"
627
+ impName = c.sanitizeIdentifier(impName)
628
+
626
629
  // All Go package imports are mapped to the @goscript/ scope.
627
630
  // The TypeScript compiler will resolve these using tsconfig paths to either
628
631
  // handwritten versions (in .goscript-assets) or transpiled versions (in goscript).
@@ -4,6 +4,9 @@ import (
4
4
  "fmt"
5
5
  "go/ast"
6
6
  "go/types"
7
+ "strings"
8
+
9
+ "go/token"
7
10
 
8
11
  "github.com/pkg/errors"
9
12
  )
@@ -85,6 +88,10 @@ func (c *GoToTSCompiler) WriteStmtRange(exp *ast.RangeStmt) error {
85
88
  return c.writeInterfaceIteratorRange(exp)
86
89
  }
87
90
 
91
+ if _, ok := underlying.(*types.Chan); ok {
92
+ return c.writeChannelRange(exp)
93
+ }
94
+
88
95
  return errors.Errorf("unsupported range loop type: %T for expression %v", underlying, exp)
89
96
  }
90
97
 
@@ -418,3 +425,72 @@ func (c *GoToTSCompiler) writeInterfaceIteratorRange(exp *ast.RangeStmt) error {
418
425
  c.tsw.WriteLine("})()")
419
426
  return nil
420
427
  }
428
+
429
+ func (c *GoToTSCompiler) writeChannelRange(exp *ast.RangeStmt) error {
430
+ if exp.Value != nil {
431
+ return fmt.Errorf("channel range does not support two iteration variables")
432
+ }
433
+
434
+ c.tsw.WriteLiterally("for (;;) {")
435
+ c.tsw.Indent(1)
436
+ c.tsw.WriteLine("")
437
+
438
+ valueIsBlank := exp.Key == nil
439
+ valueName := "_"
440
+ if !valueIsBlank {
441
+ if valIdent, ok := exp.Key.(*ast.Ident); ok {
442
+ if valIdent.Name != "_" {
443
+ valueName = valIdent.Name
444
+ } else {
445
+ valueIsBlank = true
446
+ }
447
+ } else {
448
+ return fmt.Errorf("unsupported iteration variable in channel range: %T", exp.Key)
449
+ }
450
+ }
451
+
452
+ keyword := "const "
453
+ okVarName := "_ok"
454
+ if exp.Tok != token.DEFINE {
455
+ keyword = ""
456
+ c.tsw.WriteLiterally("let ")
457
+ c.tsw.WriteLiterally(okVarName)
458
+ c.tsw.WriteLine("")
459
+ }
460
+
461
+ patternParts := []string{}
462
+ if !valueIsBlank {
463
+ patternParts = append(patternParts, fmt.Sprintf("value: %s", valueName))
464
+ }
465
+ patternParts = append(patternParts, fmt.Sprintf("ok: %s", okVarName))
466
+ destructuringPattern := fmt.Sprintf("{ %s }", strings.Join(patternParts, ", "))
467
+
468
+ c.tsw.WriteLiterally(keyword)
469
+ if keyword == "" {
470
+ c.tsw.WriteLiterally(";(")
471
+ }
472
+ c.tsw.WriteLiterally(destructuringPattern)
473
+ c.tsw.WriteLiterally(" = await $.chanRecvWithOk(")
474
+ if err := c.WriteValueExpr(exp.X); err != nil {
475
+ return err
476
+ }
477
+ c.tsw.WriteLiterally(")")
478
+ if keyword == "" {
479
+ c.tsw.WriteLiterally(")")
480
+ }
481
+ c.tsw.WriteLine("")
482
+
483
+ c.tsw.WriteLiterally("if (!")
484
+ c.tsw.WriteLiterally(okVarName)
485
+ c.tsw.WriteLiterally(") break")
486
+ c.tsw.WriteLine("")
487
+
488
+ if err := c.WriteStmtBlock(exp.Body, false); err != nil {
489
+ return err
490
+ }
491
+
492
+ c.tsw.Indent(-1)
493
+ c.tsw.WriteLine("}")
494
+
495
+ return nil
496
+ }
@@ -1,8 +1,8 @@
1
- export { TypeOf, ValueOf, Value, Kind_String, ArrayOf, SliceOf, PointerTo, PtrTo, MapOf, ChanOf, ChanDir_String, RecvDir, SendDir, BothDir, } from './type';
2
- export type { Type, ChanDir, Kind } from './type';
3
- export { DeepEqual } from './deepequal';
4
- export { Zero, Copy, Indirect, New, MakeSlice, MakeMap, Append, MakeChan, Select, } from './value';
5
- export { Swapper } from './swapper';
6
- export { StructTag, ValueError, SelectDir, SelectSend, SelectRecv, SelectDefault, bitVector, } from './types';
7
- export type { uintptr, Pointer, StructField, Method, SelectCase, SliceHeader, StringHeader, MapIter, } from './types';
8
- export { Invalid, Bool, Int, Int8, Int16, Int32, Int64, Uint, Uint8, Uint16, Uint32, Uint64, Uintptr, Float32, Float64, Complex64, Complex128, Array, Chan, Func, Interface, Map, Ptr, Slice, String, Struct, UnsafePointer, } from './type';
1
+ export { TypeOf, ValueOf, Value, Kind_String, ArrayOf, SliceOf, PointerTo, PtrTo, MapOf, ChanOf, ChanDir_String, RecvDir, SendDir, BothDir, } from './type.js';
2
+ export type { Type, ChanDir, Kind } from './type.js';
3
+ export { DeepEqual } from './deepequal.js';
4
+ export { Zero, Copy, Indirect, New, MakeSlice, MakeMap, Append, MakeChan, Select, } from './value.js';
5
+ export { Swapper } from './swapper.js';
6
+ export { StructTag, ValueError, SelectDir, SelectSend, SelectRecv, SelectDefault, bitVector, } from './types.js';
7
+ export type { uintptr, Pointer, StructField, Method, SelectCase, SliceHeader, StringHeader, MapIter, } from './types.js';
8
+ export { Invalid, Bool, Int, Int8, Int16, Int32, Int64, Uint, Uint8, Uint16, Uint32, Uint64, Uintptr, Float32, Float64, Complex64, Complex128, Array, Chan, Func, Interface, Map, Ptr, Slice, String, Struct, UnsafePointer, } from './type.js';
@@ -1,10 +1,10 @@
1
1
  // Export the main reflect functions organized like Go stdlib
2
- export { TypeOf, ValueOf, Value, Kind_String, ArrayOf, SliceOf, PointerTo, PtrTo, MapOf, ChanOf, ChanDir_String, RecvDir, SendDir, BothDir, } from './type';
3
- export { DeepEqual } from './deepequal';
4
- export { Zero, Copy, Indirect, New, MakeSlice, MakeMap, Append, MakeChan, Select, } from './value';
5
- export { Swapper } from './swapper';
2
+ export { TypeOf, ValueOf, Value, Kind_String, ArrayOf, SliceOf, PointerTo, PtrTo, MapOf, ChanOf, ChanDir_String, RecvDir, SendDir, BothDir, } from './type.js';
3
+ export { DeepEqual } from './deepequal.js';
4
+ export { Zero, Copy, Indirect, New, MakeSlice, MakeMap, Append, MakeChan, Select, } from './value.js';
5
+ export { Swapper } from './swapper.js';
6
6
  // Export new types and constants
7
- export { StructTag, ValueError, SelectDir, SelectSend, SelectRecv, SelectDefault, bitVector, } from './types';
7
+ export { StructTag, ValueError, SelectDir, SelectSend, SelectRecv, SelectDefault, bitVector, } from './types.js';
8
8
  // Export kind constants
9
- export { Invalid, Bool, Int, Int8, Int16, Int32, Int64, Uint, Uint8, Uint16, Uint32, Uint64, Uintptr, Float32, Float64, Complex64, Complex128, Array, Chan, Func, Interface, Map, Ptr, Slice, String, Struct, UnsafePointer, } from './type';
9
+ export { Invalid, Bool, Int, Int8, Int16, Int32, Int64, Uint, Uint8, Uint16, Uint32, Uint64, Uintptr, Float32, Float64, Complex64, Complex128, Array, Chan, Func, Interface, Map, Ptr, Slice, String, Struct, UnsafePointer, } from './type.js';
10
10
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/reflect/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,OAAO,EACP,OAAO,EACP,OAAO,GACR,MAAM,QAAQ,CAAA;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,GACP,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,iCAAiC;AACjC,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,SAAS,CAAA;AAYhB,wBAAwB;AACxB,OAAO,EACL,OAAO,EACP,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,EACV,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,GAAG,EACH,GAAG,EACH,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,GACd,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/reflect/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,OAAO,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,WAAW,EACX,OAAO,EACP,OAAO,EACP,SAAS,EACT,KAAK,EACL,KAAK,EACL,MAAM,EACN,cAAc,EACd,OAAO,EACP,OAAO,EACP,OAAO,GACR,MAAM,WAAW,CAAA;AAElB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,GAAG,EACH,SAAS,EACT,OAAO,EACP,MAAM,EACN,QAAQ,EACR,MAAM,GACP,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,iCAAiC;AACjC,OAAO,EACL,SAAS,EACT,UAAU,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,GACV,MAAM,YAAY,CAAA;AAYnB,wBAAwB;AACxB,OAAO,EACL,OAAO,EACP,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,EACN,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,UAAU,EACV,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,SAAS,EACT,GAAG,EACH,GAAG,EACH,KAAK,EACL,MAAM,EACN,MAAM,EACN,aAAa,GACd,MAAM,WAAW,CAAA"}
@@ -1,4 +1,4 @@
1
1
  import { Type, Value } from './type.js';
2
2
  import { uintptr } from './types.js';
3
3
  import * as iter from '@goscript/iter/index.js';
4
- export declare function rangeNum<T extends number | number | number | number | number | number | number | number | number | number | uintptr, N extends number | number>(num: N, t: Type): iter.Seq<Value>;
4
+ export declare function rangeNum<T extends number | uintptr, N extends number | number>(num: N, t: Type): iter.Seq<Value>;
@@ -1,4 +1,4 @@
1
- import { ValueOf } from './value.js';
1
+ import { ValueOf } from './type.js';
2
2
  export function rangeNum(num, t) {
3
3
  // cannot use range T(v) because no core type.
4
4
  // if the iteration value type is define by
@@ -1 +1 @@
1
- {"version":3,"file":"iter.js","sourceRoot":"","sources":["../../../gs/reflect/iter.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAIpC,MAAM,UAAU,QAAQ,CActB,GAAM,EAAE,CAAO;IACf,8CAA8C;IAE9C,2CAA2C;IAC3C,wBAAwB;IACxB,OAAO,CAAC,MAAsC,EAAQ,EAAE;QACtD,IAAI,OAAO,GAAG,CAAE,CAAC,OAAQ,EAAE,IAAI,EAAE,CAAA;QACjC,8CAA8C;QAE9C,2CAA2C;QAC3C,wBAAwB;QACxB,KAAK,IAAI,CAAC,GAAG,CAAiB,EAAE,CAAC,GAAI,GAAoB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;YAC5B,2CAA2C;YAC3C,wBAAwB;YACxB,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;YAC9B,CAAC;YACD,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"iter.js","sourceRoot":"","sources":["../../../gs/reflect/iter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,OAAO,EAAE,MAAM,WAAW,CAAA;AAKhD,MAAM,UAAU,QAAQ,CAKtB,GAAM,EAAE,CAAO;IACf,8CAA8C;IAE9C,2CAA2C;IAC3C,wBAAwB;IACxB,OAAO,CAAC,MAAsC,EAAQ,EAAE;QACtD,IAAI,OAAO,GAAG,CAAE,CAAC,OAAQ,EAAE,IAAI,EAAE,CAAA;QACjC,8CAA8C;QAE9C,2CAA2C;QAC3C,wBAAwB;QACxB,KAAK,IAAI,CAAC,GAAG,CAAiB,EAAE,CAAC,GAAI,GAAoB,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/D,IAAI,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;YAC5B,2CAA2C;YAC3C,wBAAwB;YACxB,IAAI,OAAO,EAAE,CAAC;gBACZ,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAA;YAC9B,CAAC;YACD,IAAI,CAAC,MAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClB,OAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC,CAAA;AACH,CAAC"}
@@ -1,2 +1,2 @@
1
- import { ReflectValue } from './types';
1
+ import { ReflectValue } from './types.js';
2
2
  export declare function Swapper(slice: ReflectValue): (i: number, j: number) => void;
@@ -1,7 +1,6 @@
1
+ import * as $ from '@goscript/builtin/index.js';
1
2
  import { Type, Value } from './type.js';
2
3
  import { SelectCase } from './types.js';
3
- import * as $ from '@goscript/builtin/index.js';
4
- export { ValueOf } from './type';
5
4
  export declare function Zero(typ: Type): Value;
6
5
  export declare function Copy(dst: Value, src: Value): number;
7
6
  export declare function Indirect(v: Value): Value;
@@ -1,8 +1,6 @@
1
+ import * as $ from '@goscript/builtin/index.js';
1
2
  import { Array, Bool, Float32, Float64, Int, Int16, Int32, Int64, Int8, Map, PointerTo, Ptr, Slice, String, Uint, Uint16, Uint32, Uint64, Uint8, Uintptr, Value, Chan, BasicType, Invalid, } from './type.js';
2
3
  import { SelectRecv, SelectDefault } from './types.js';
3
- import * as $ from '@goscript/builtin/index.js';
4
- // Re-export ValueOf from type.ts for compatibility
5
- export { ValueOf } from './type';
6
4
  // Zero returns a Value representing the zero value for the specified type.
7
5
  export function Zero(typ) {
8
6
  let zeroValue;
@@ -1 +1 @@
1
- {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../gs/reflect/value.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../gs/reflect/value.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export { Find, Search, SearchFloat64s, SearchInts, SearchStrings, } from './search.gs';
2
- export { Slice, SliceIsSorted, SliceStable } from './slice.gs';
3
- export { Float64Slice, Float64s, Float64sAreSorted, IntSlice, Ints, IntsAreSorted, IsSorted, Reverse, Sort, Stable, StringSlice, Strings, StringsAreSorted, } from './sort.gs';
4
- export type { Interface } from './sort.gs';
1
+ export { Find, Search, SearchFloat64s, SearchInts, SearchStrings, } from './search.gs.js';
2
+ export { Slice, SliceIsSorted, SliceStable } from './slice.gs.js';
3
+ export { Float64Slice, Float64s, Float64sAreSorted, IntSlice, Ints, IntsAreSorted, IsSorted, Reverse, Sort, Stable, StringSlice, Strings, StringsAreSorted, } from './sort.gs.js';
4
+ export type { Interface } from './sort.gs.js';
@@ -1,4 +1,4 @@
1
- export { Find, Search, SearchFloat64s, SearchInts, SearchStrings, } from './search.gs';
2
- export { Slice, SliceIsSorted, SliceStable } from './slice.gs';
3
- export { Float64Slice, Float64s, Float64sAreSorted, IntSlice, Ints, IntsAreSorted, IsSorted, Reverse, Sort, Stable, StringSlice, Strings, StringsAreSorted, } from './sort.gs';
1
+ export { Find, Search, SearchFloat64s, SearchInts, SearchStrings, } from './search.gs.js';
2
+ export { Slice, SliceIsSorted, SliceStable } from './slice.gs.js';
3
+ export { Float64Slice, Float64s, Float64sAreSorted, IntSlice, Ints, IntsAreSorted, IsSorted, Reverse, Sort, Stable, StringSlice, Strings, StringsAreSorted, } from './sort.gs.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/sort/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAC9D,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,MAAM,EACN,WAAW,EACX,OAAO,EACP,gBAAgB,GACjB,MAAM,WAAW,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/sort/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,IAAI,EACJ,MAAM,EACN,cAAc,EACd,UAAU,EACV,aAAa,GACd,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,QAAQ,EACR,IAAI,EACJ,aAAa,EACb,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,MAAM,EACN,WAAW,EACX,OAAO,EACP,gBAAgB,GACjB,MAAM,cAAc,CAAA"}
@@ -3,5 +3,4 @@ export * from './strings.js';
3
3
  export * from './reader.js';
4
4
  export { Replacer, NewReplacer } from './replace.js';
5
5
  export { Lines, FieldsSeq, FieldsFuncSeq, SplitSeq, SplitAfterSeq, } from './iter.js';
6
- // Clone and Compare are already exported from strings.js, so we don't re-export them
7
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EACL,KAAK,EACL,SAAS,EACT,aAAa,EACb,QAAQ,EACR,aAAa,GACd,MAAM,WAAW,CAAA;AAClB,qFAAqF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../gs/strings/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EACL,KAAK,EACL,SAAS,EACT,aAAa,EACb,QAAQ,EACR,aAAa,GACd,MAAM,WAAW,CAAA"}
package/go.mod CHANGED
@@ -5,17 +5,17 @@ go 1.24.4
5
5
  require (
6
6
  github.com/aperturerobotics/cli v1.0.0
7
7
  github.com/aperturerobotics/protobuf-go-lite v0.9.1
8
- github.com/aperturerobotics/util v1.30.0
8
+ github.com/aperturerobotics/util v1.30.1
9
9
  github.com/pkg/errors v0.9.1
10
10
  github.com/sirupsen/logrus v1.9.3
11
- golang.org/x/tools v0.33.0
11
+ golang.org/x/tools v0.35.0
12
12
  )
13
13
 
14
14
  require (
15
- github.com/aperturerobotics/common v0.22.1 // indirect
15
+ github.com/aperturerobotics/common v0.22.5 // indirect
16
16
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008 // indirect
17
17
  github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 // indirect
18
- golang.org/x/mod v0.24.0 // indirect
19
- golang.org/x/sync v0.14.0 // indirect
20
- golang.org/x/sys v0.33.0 // indirect
18
+ golang.org/x/mod v0.26.0 // indirect
19
+ golang.org/x/sync v0.16.0 // indirect
20
+ golang.org/x/sys v0.34.0 // indirect
21
21
  )
package/go.sum CHANGED
@@ -1,13 +1,13 @@
1
1
  github.com/aperturerobotics/cli v1.0.0 h1:s3xT2h7eBih4/4yZKTn/HQ6P+qpk6ygWZl2416xAI1M=
2
2
  github.com/aperturerobotics/cli v1.0.0/go.mod h1:wtlINjMcKuwyV1x4ftReuA6hHZcPB8kPMXHyQqGFCSc=
3
- github.com/aperturerobotics/common v0.22.1 h1:wxTV9wSgfAM9jYUuSzNFzUeC28DQMBgDO3iGahlHeaY=
4
- github.com/aperturerobotics/common v0.22.1/go.mod h1:wsPfDVCTNpGHddg/MSfm84rKoO4GAvb+TQtATXz+pKY=
3
+ github.com/aperturerobotics/common v0.22.5 h1:VhweXK3CVWfPdNXI2311EOMq9SUpdZAnWuinNYH7020=
4
+ github.com/aperturerobotics/common v0.22.5/go.mod h1:wsPfDVCTNpGHddg/MSfm84rKoO4GAvb+TQtATXz+pKY=
5
5
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008 h1:So9JeziaWKx2Fw8sK4AUN/szqKtJ0jEMhS6bU4sHbxs=
6
6
  github.com/aperturerobotics/json-iterator-lite v1.0.1-0.20240713111131-be6bf89c3008/go.mod h1:snaApCEDtrHHP6UWSLKiYNOZU9A5NyzccKenx9oZEzg=
7
7
  github.com/aperturerobotics/protobuf-go-lite v0.9.1 h1:P1knXKnwLJpVE8fmeXYGckKu79IhqUvKRdCfJNR0MwQ=
8
8
  github.com/aperturerobotics/protobuf-go-lite v0.9.1/go.mod h1:fULrxQxEBWKQm7vvju9AfjTp9yfHoLgwMQWTiZQ2tg0=
9
- github.com/aperturerobotics/util v1.30.0 h1:OKhFVPnAfR8/dfVNV27EtMr27C0kzwPiStoCwKiint0=
10
- github.com/aperturerobotics/util v1.30.0/go.mod h1:T97YTP+FVLegYo5rylOVaPuTLyZyiDqYxD5zVLI9YAc=
9
+ github.com/aperturerobotics/util v1.30.1 h1:4ssKO1TlfoBBcLXZwISAw8Yf8H9Mg9D0jnn+klMXAKY=
10
+ github.com/aperturerobotics/util v1.30.1/go.mod h1:OLTwZiBfCVh9kirNhA1quJfnLuy4OW7CyIkvoFX62+A=
11
11
  github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
12
12
  github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
13
13
  github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
@@ -25,15 +25,15 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf
25
25
  github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
26
26
  github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1 h1:gEOO8jv9F4OT7lGCjxCBTO/36wtF6j2nSip77qHd4x4=
27
27
  github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM=
28
- golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
29
- golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
30
- golang.org/x/sync v0.14.0 h1:woo0S4Yywslg6hp4eUFjTVOyKt0RookbpAHG4c1HmhQ=
31
- golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
28
+ golang.org/x/mod v0.26.0 h1:EGMPT//Ezu+ylkCijjPc+f4Aih7sZvaAr+O3EHBxvZg=
29
+ golang.org/x/mod v0.26.0/go.mod h1:/j6NAhSk8iQ723BGAUyoAcn7SlD7s15Dp9Nd/SfeaFQ=
30
+ golang.org/x/sync v0.16.0 h1:ycBJEhp9p4vXvUZNszeOq0kGTPghopOL8q0fq3vstxw=
31
+ golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
32
32
  golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
33
- golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
34
- golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
35
- golang.org/x/tools v0.33.0 h1:4qz2S3zmRxbGIhDIAgjxvFutSvH5EfnsYrRBj0UI0bc=
36
- golang.org/x/tools v0.33.0/go.mod h1:CIJMaWEY88juyUfo7UbgPqbC8rU2OqfAV1h2Qp0oMYI=
33
+ golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA=
34
+ golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
35
+ golang.org/x/tools v0.35.0 h1:mBffYraMEf7aa0sB+NuKnuCy8qI/9Bughn8dC2Gu5r0=
36
+ golang.org/x/tools v0.35.0/go.mod h1:NKdj5HkL/73byiZSJjqJgKn3ep7KjFkBOkR/Hps3VPw=
37
37
  gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
38
38
  gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
39
39
  gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
@@ -14,9 +14,9 @@ export {
14
14
  RecvDir,
15
15
  SendDir,
16
16
  BothDir,
17
- } from './type'
18
- export type { Type, ChanDir, Kind } from './type'
19
- export { DeepEqual } from './deepequal'
17
+ } from './type.js'
18
+ export type { Type, ChanDir, Kind } from './type.js'
19
+ export { DeepEqual } from './deepequal.js'
20
20
  export {
21
21
  Zero,
22
22
  Copy,
@@ -27,8 +27,8 @@ export {
27
27
  Append,
28
28
  MakeChan,
29
29
  Select,
30
- } from './value'
31
- export { Swapper } from './swapper'
30
+ } from './value.js'
31
+ export { Swapper } from './swapper.js'
32
32
 
33
33
  // Export new types and constants
34
34
  export {
@@ -39,7 +39,7 @@ export {
39
39
  SelectRecv,
40
40
  SelectDefault,
41
41
  bitVector,
42
- } from './types'
42
+ } from './types.js'
43
43
  export type {
44
44
  uintptr,
45
45
  Pointer,
@@ -49,7 +49,7 @@ export type {
49
49
  SliceHeader,
50
50
  StringHeader,
51
51
  MapIter,
52
- } from './types'
52
+ } from './types.js'
53
53
 
54
54
  // Export kind constants
55
55
  export {
@@ -80,4 +80,4 @@ export {
80
80
  String,
81
81
  Struct,
82
82
  UnsafePointer,
83
- } from './type'
83
+ } from './type.js'
@@ -1,20 +1,10 @@
1
- import { Type, Value } from './type.js'
1
+ import { Type, Value, ValueOf } from './type.js'
2
2
  import { uintptr } from './types.js'
3
- import { ValueOf } from './value.js'
4
3
 
5
4
  import * as iter from '@goscript/iter/index.js'
6
5
 
7
6
  export function rangeNum<
8
7
  T extends
9
- | number
10
- | number
11
- | number
12
- | number
13
- | number
14
- | number
15
- | number
16
- | number
17
- | number
18
8
  | number
19
9
  | uintptr,
20
10
  N extends number | number,
@@ -1,4 +1,4 @@
1
- import { ReflectValue } from './types'
1
+ import { ReflectValue } from './types.js'
2
2
 
3
3
  // Swapper returns a function that swaps the elements in the provided slice.
4
4
  // Swapper panics if the provided interface is not a slice.
@@ -1,3 +1,4 @@
1
+ import * as $ from '@goscript/builtin/index.js'
1
2
  import {
2
3
  Array,
3
4
  Bool,
@@ -26,16 +27,12 @@ import {
26
27
  Invalid,
27
28
  } from './type.js'
28
29
  import { ReflectValue, SelectCase, SelectRecv, SelectDefault } from './types.js'
29
- import * as $ from '@goscript/builtin/index.js'
30
30
 
31
31
  interface ChannelObject {
32
32
  _sendQueue?: unknown[]
33
33
  send?: (value: unknown) => void
34
34
  }
35
35
 
36
- // Re-export ValueOf from type.ts for compatibility
37
- export { ValueOf } from './type'
38
-
39
36
  // Zero returns a Value representing the zero value for the specified type.
40
37
  export function Zero(typ: Type): Value {
41
38
  let zeroValue: ReflectValue
package/gs/sort/index.ts CHANGED
@@ -4,8 +4,8 @@ export {
4
4
  SearchFloat64s,
5
5
  SearchInts,
6
6
  SearchStrings,
7
- } from './search.gs'
8
- export { Slice, SliceIsSorted, SliceStable } from './slice.gs'
7
+ } from './search.gs.js'
8
+ export { Slice, SliceIsSorted, SliceStable } from './slice.gs.js'
9
9
  export {
10
10
  Float64Slice,
11
11
  Float64s,
@@ -20,5 +20,5 @@ export {
20
20
  StringSlice,
21
21
  Strings,
22
22
  StringsAreSorted,
23
- } from './sort.gs'
24
- export type { Interface } from './sort.gs'
23
+ } from './sort.gs.js'
24
+ export type { Interface } from './sort.gs.js'
@@ -9,4 +9,3 @@ export {
9
9
  SplitSeq,
10
10
  SplitAfterSeq,
11
11
  } from './iter.js'
12
- // Clone and Compare are already exported from strings.js, so we don't re-export them
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "goscript",
3
3
  "description": "Go to TypeScript transpiler",
4
- "version": "0.0.52",
4
+ "version": "0.0.54",
5
5
  "author": {
6
6
  "name": "Aperture Robotics LLC.",
7
7
  "email": "support@aperture.us",
@@ -84,20 +84,20 @@
84
84
  "./{src,builtin,example}/**/(*.ts|*.tsx|*.html|*.css|*.scss)": "prettier --config .prettierrc.yaml --write"
85
85
  },
86
86
  "devDependencies": {
87
- "@aptre/protobuf-es-lite": "^0.4.9",
88
- "@eslint/js": "^9.25.1",
89
- "@types/node": "^22.15.18",
90
- "@typescript-eslint/eslint-plugin": "^8.31.0",
91
- "@typescript-eslint/parser": "^8.31.0",
92
- "@typescript/native-preview": "^7.0.0-dev.20250523.1",
93
- "eslint": "^9.25.1",
87
+ "@aptre/protobuf-es-lite": "^0.5.2",
88
+ "@eslint/js": "^9.31.0",
89
+ "@types/node": "^24.0.13",
90
+ "@typescript-eslint/eslint-plugin": "^8.36.0",
91
+ "@typescript-eslint/parser": "^8.36.0",
92
+ "@typescript/native-preview": "^7.0.0-dev.20250711.1",
93
+ "eslint": "^9.31.0",
94
94
  "eslint-config-prettier": "^10.0.2",
95
95
  "husky": "^9.1.7",
96
96
  "lint-staged": "^16.0.0",
97
- "prettier": "^3.5.3",
97
+ "prettier": "^3.6.2",
98
98
  "tsx": "^4.0.0",
99
99
  "typescript": "^5.8.3",
100
- "typescript-eslint": "^8.31.0",
100
+ "typescript-eslint": "^8.36.0",
101
101
  "vitest": "^3.1.2"
102
102
  }
103
103
  }