goscript 0.0.52 → 0.0.53
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compiler/analysis.go +127 -8
- package/compiler/expr-call-async.go +12 -1
- 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 +3 -3
- package/go.sum +6 -6
- 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 +1 -1
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
|
+
}
|
|
@@ -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
|
|
@@ -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
|
@@ -8,14 +8,14 @@ require (
|
|
|
8
8
|
github.com/aperturerobotics/util v1.30.0
|
|
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.34.0
|
|
12
12
|
)
|
|
13
13
|
|
|
14
14
|
require (
|
|
15
15
|
github.com/aperturerobotics/common v0.22.1 // 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.
|
|
18
|
+
golang.org/x/mod v0.25.0 // indirect
|
|
19
|
+
golang.org/x/sync v0.15.0 // indirect
|
|
20
20
|
golang.org/x/sys v0.33.0 // indirect
|
|
21
21
|
)
|
package/go.sum
CHANGED
|
@@ -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.25.0 h1:n7a+ZbQKQA/Ysbyb0/6IbB1H/X41mKgbhfv7AfG/44w=
|
|
29
|
+
golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
|
|
30
|
+
golang.org/x/sync v0.15.0 h1:KWH3jNZsfyT6xfAfKiz6MRNmd46ByHDYaZ7KSkCtdW8=
|
|
31
|
+
golang.org/x/sync v0.15.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
|
32
32
|
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
|
33
33
|
golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
|
|
34
34
|
golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
|
35
|
-
golang.org/x/tools v0.
|
|
36
|
-
golang.org/x/tools v0.
|
|
35
|
+
golang.org/x/tools v0.34.0 h1:qIpSLOxeCYGg9TrcJokLBG4KFA6d795g0xkBkiESGlo=
|
|
36
|
+
golang.org/x/tools v0.34.0/go.mod h1:pAP9OwEaY1CAW3HOmg3hLZC5Z0CCmzjAF2UQMSqNARg=
|
|
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