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 +1 -3
- package/compiler/analysis.go +127 -8
- package/compiler/compiler.go +14 -4
- package/compiler/expr-call-async.go +12 -1
- package/compiler/spec.go +3 -0
- package/compiler/stmt-range.go +76 -0
- package/dist/gs/reflect/index.d.ts +8 -8
- package/dist/gs/reflect/index.js +6 -6
- package/dist/gs/reflect/index.js.map +1 -1
- package/dist/gs/reflect/iter.d.ts +1 -1
- package/dist/gs/reflect/iter.js +1 -1
- package/dist/gs/reflect/iter.js.map +1 -1
- package/dist/gs/reflect/swapper.d.ts +1 -1
- package/dist/gs/reflect/value.d.ts +1 -2
- package/dist/gs/reflect/value.js +1 -3
- package/dist/gs/reflect/value.js.map +1 -1
- package/dist/gs/sort/index.d.ts +4 -4
- package/dist/gs/sort/index.js +3 -3
- package/dist/gs/sort/index.js.map +1 -1
- package/dist/gs/strings/index.js +0 -1
- package/dist/gs/strings/index.js.map +1 -1
- package/go.mod +6 -6
- package/go.sum +12 -12
- package/gs/reflect/index.ts +8 -8
- package/gs/reflect/iter.ts +1 -11
- package/gs/reflect/swapper.ts +1 -1
- package/gs/reflect/value.ts +1 -4
- package/gs/sort/index.ts +4 -4
- package/gs/strings/index.ts +0 -1
- package/package.json +10 -10
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
|
|
3
|
+
[![GoDoc Widget]][GoDoc] [![Go Report Card Widget]][Go Report Card] [](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
|
|
package/compiler/analysis.go
CHANGED
|
@@ -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:
|
|
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
|
-
//
|
|
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
|
+
}
|
package/compiler/compiler.go
CHANGED
|
@@ -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(
|
|
604
|
+
sort.Strings(sanitizedFunctions)
|
|
600
605
|
c.codeWriter.WriteLinef("import { %s } from \"./%s.gs.js\";",
|
|
601
|
-
strings.Join(
|
|
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(
|
|
663
|
+
sort.Strings(sanitizedTypes)
|
|
654
664
|
c.codeWriter.WriteLinef("import { %s } from \"./%s.gs.js\";",
|
|
655
|
-
strings.Join(
|
|
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).
|
package/compiler/stmt-range.go
CHANGED
|
@@ -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';
|
package/dist/gs/reflect/index.js
CHANGED
|
@@ -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,
|
|
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 |
|
|
4
|
+
export declare function rangeNum<T extends number | uintptr, N extends number | number>(num: N, t: Type): iter.Seq<Value>;
|
package/dist/gs/reflect/iter.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iter.js","sourceRoot":"","sources":["../../../gs/reflect/iter.ts"],"names":[],"mappings":"
|
|
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;
|
package/dist/gs/reflect/value.js
CHANGED
|
@@ -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":"AAAA,OAAO,EACL,KAAK,EACL,IAAI,EACJ,OAAO,EACP,OAAO,EACP,GAAG,EACH,KAAK,EACL,KAAK,EACL,KAAK,EACL,IAAI,EACJ,GAAG,EACH,SAAS,EACT,GAAG,EACH,KAAK,EACL,MAAM,EAEN,IAAI,EACJ,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,SAAS,EACT,OAAO,GACR,MAAM,WAAW,CAAA;AAClB,OAAO,EAA4B,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"value.js","sourceRoot":"","sources":["../../../gs/reflect/value.ts"],"names":[],"mappings":"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"}
|
package/dist/gs/sort/index.d.ts
CHANGED
|
@@ -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';
|
package/dist/gs/sort/index.js
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/gs/strings/index.js
CHANGED
|
@@ -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
|
|
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.
|
|
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.
|
|
11
|
+
golang.org/x/tools v0.35.0
|
|
12
12
|
)
|
|
13
13
|
|
|
14
14
|
require (
|
|
15
|
-
github.com/aperturerobotics/common v0.22.
|
|
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.
|
|
19
|
-
golang.org/x/sync v0.
|
|
20
|
-
golang.org/x/sys v0.
|
|
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.
|
|
4
|
-
github.com/aperturerobotics/common v0.22.
|
|
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.
|
|
10
|
-
github.com/aperturerobotics/util v1.30.
|
|
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.
|
|
29
|
-
golang.org/x/mod v0.
|
|
30
|
-
golang.org/x/sync v0.
|
|
31
|
-
golang.org/x/sync v0.
|
|
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.
|
|
34
|
-
golang.org/x/sys v0.
|
|
35
|
-
golang.org/x/tools v0.
|
|
36
|
-
golang.org/x/tools v0.
|
|
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=
|
package/gs/reflect/index.ts
CHANGED
|
@@ -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'
|
package/gs/reflect/iter.ts
CHANGED
|
@@ -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,
|
package/gs/reflect/swapper.ts
CHANGED
package/gs/reflect/value.ts
CHANGED
|
@@ -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'
|
package/gs/strings/index.ts
CHANGED
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.
|
|
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.
|
|
88
|
-
"@eslint/js": "^9.
|
|
89
|
-
"@types/node": "^
|
|
90
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
91
|
-
"@typescript-eslint/parser": "^8.
|
|
92
|
-
"@typescript/native-preview": "^7.0.0-dev.
|
|
93
|
-
"eslint": "^9.
|
|
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.
|
|
97
|
+
"prettier": "^3.6.2",
|
|
98
98
|
"tsx": "^4.0.0",
|
|
99
99
|
"typescript": "^5.8.3",
|
|
100
|
-
"typescript-eslint": "^8.
|
|
100
|
+
"typescript-eslint": "^8.36.0",
|
|
101
101
|
"vitest": "^3.1.2"
|
|
102
102
|
}
|
|
103
103
|
}
|