goscript 0.0.38 → 0.0.40
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 +15 -6
- package/compiler/compiler.go +184 -34
- package/compiler/expr-call.go +19 -9
- package/compiler/field.go +17 -3
- package/compiler/gs_dependencies_test.go +80 -0
- package/compiler/lit.go +12 -6
- package/compiler/output.go +10 -4
- package/compiler/spec.go +15 -2
- package/compiler/type-assert.go +111 -21
- package/compiler/type.go +37 -8
- package/dist/gs/builtin/builtin.d.ts +55 -0
- package/dist/gs/builtin/builtin.js +213 -0
- package/dist/gs/builtin/builtin.js.map +1 -1
- package/dist/gs/builtin/slice.js +13 -0
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/bytes/buffer.gs.d.ts +56 -0
- package/dist/gs/bytes/buffer.gs.js +611 -0
- package/dist/gs/bytes/buffer.gs.js.map +1 -0
- package/dist/gs/bytes/bytes.gs.d.ts +78 -0
- package/dist/gs/bytes/bytes.gs.js +1107 -0
- package/dist/gs/bytes/bytes.gs.js.map +1 -0
- package/dist/gs/bytes/index.d.ts +4 -0
- package/dist/gs/bytes/index.js +5 -0
- package/dist/gs/bytes/index.js.map +1 -0
- package/dist/gs/bytes/iter.gs.d.ts +9 -0
- package/dist/gs/bytes/iter.gs.js +143 -0
- package/dist/gs/bytes/iter.gs.js.map +1 -0
- package/dist/gs/bytes/reader.gs.d.ts +34 -0
- package/dist/gs/bytes/reader.gs.js +198 -0
- package/dist/gs/bytes/reader.gs.js.map +1 -0
- package/dist/gs/fmt/fmt.d.ts +49 -0
- package/dist/gs/fmt/fmt.js +322 -0
- package/dist/gs/fmt/fmt.js.map +1 -0
- package/dist/gs/fmt/index.d.ts +1 -0
- package/dist/gs/fmt/index.js +2 -0
- package/dist/gs/fmt/index.js.map +1 -0
- package/dist/gs/internal/bytealg/index.d.ts +14 -2
- package/dist/gs/internal/bytealg/index.js +114 -8
- package/dist/gs/internal/bytealg/index.js.map +1 -1
- package/dist/gs/path/filepath/index.d.ts +3 -0
- package/dist/gs/path/filepath/index.js +3 -0
- package/dist/gs/path/filepath/index.js.map +1 -0
- package/dist/gs/path/filepath/match.d.ts +3 -0
- package/dist/gs/path/filepath/match.js +212 -0
- package/dist/gs/path/filepath/match.js.map +1 -0
- package/dist/gs/path/filepath/path.d.ts +25 -0
- package/dist/gs/path/filepath/path.js +265 -0
- package/dist/gs/path/filepath/path.js.map +1 -0
- package/dist/gs/reflect/deepequal.d.ts +2 -1
- package/dist/gs/reflect/deepequal.js +5 -53
- package/dist/gs/reflect/deepequal.js.map +1 -1
- package/dist/gs/reflect/map.d.ts +14 -8
- package/dist/gs/reflect/map.js +15 -11
- package/dist/gs/reflect/map.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +17 -9
- package/dist/gs/reflect/type.js +1 -1
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/reflect/value.js +15 -6
- package/dist/gs/reflect/value.js.map +1 -1
- package/dist/gs/reflect/visiblefields.js +18 -12
- package/dist/gs/reflect/visiblefields.js.map +1 -1
- package/dist/gs/sort/index.d.ts +4 -0
- package/dist/gs/sort/index.js +4 -0
- package/dist/gs/sort/index.js.map +1 -0
- package/dist/gs/sort/search.gs.d.ts +6 -0
- package/dist/gs/sort/search.gs.js +125 -0
- package/dist/gs/sort/search.gs.js.map +1 -0
- package/dist/gs/sort/slice.gs.d.ts +4 -0
- package/dist/gs/sort/slice.gs.js +49 -0
- package/dist/gs/sort/slice.gs.js.map +1 -0
- package/dist/gs/sort/sort.gs.d.ts +37 -0
- package/dist/gs/sort/sort.gs.js +203 -0
- package/dist/gs/sort/sort.gs.js.map +1 -0
- package/dist/gs/unicode/utf8/utf8.d.ts +1 -1
- package/dist/gs/unicode/utf8/utf8.js +4 -2
- package/dist/gs/unicode/utf8/utf8.js.map +1 -1
- package/gs/builtin/builtin.ts +236 -0
- package/gs/builtin/slice.ts +17 -1
- package/gs/bytes/buffer.gs.ts +614 -0
- package/gs/bytes/bytes.gs.ts +1288 -0
- package/gs/bytes/godoc.txt +69 -0
- package/gs/bytes/index.ts +69 -0
- package/gs/bytes/iter.gs.ts +149 -0
- package/gs/bytes/metadata.go +12 -0
- package/gs/bytes/reader.gs.ts +230 -0
- package/gs/fmt/fmt.ts +407 -0
- package/gs/fmt/godoc.txt +382 -0
- package/gs/fmt/index.ts +31 -0
- package/gs/fmt/metadata.go +7 -0
- package/gs/internal/bytealg/index.ts +125 -10
- package/gs/internal/metadata.go +7 -0
- package/gs/io/metadata.go +11 -0
- package/gs/maps/metadata.go +8 -0
- package/gs/math/metadata.go +7 -0
- package/gs/os/metadata.go +17 -0
- package/gs/path/filepath/godoc.txt +35 -0
- package/gs/path/filepath/index.ts +27 -0
- package/gs/path/filepath/match.test.ts +274 -0
- package/gs/path/filepath/match.ts +249 -0
- package/gs/path/filepath/path.test.ts +246 -0
- package/gs/path/filepath/path.ts +328 -0
- package/gs/path/metadata.go +8 -0
- package/gs/reflect/deepequal.test.ts +41 -0
- package/gs/reflect/deepequal.ts +19 -4
- package/gs/reflect/map.test.ts +30 -0
- package/gs/reflect/map.ts +22 -18
- package/gs/reflect/metadata.go +7 -0
- package/gs/reflect/type.ts +19 -15
- package/gs/reflect/value.ts +21 -7
- package/gs/reflect/visiblefields.ts +17 -13
- package/gs/sort/godoc.txt +27 -0
- package/gs/sort/index.ts +24 -0
- package/gs/sort/search.gs.ts +128 -0
- package/gs/sort/slice.gs.ts +59 -0
- package/gs/sort/sort.gs.ts +227 -0
- package/gs/strconv/metadata.go +7 -0
- package/gs/strings/metadata.go +11 -0
- package/gs/sync/metadata.go +7 -0
- package/gs/unicode/utf8/utf8.ts +8 -5
- package/package.json +1 -1
- package/dist/gs/internal/testlog/index.d.ts +0 -1
- package/dist/gs/internal/testlog/index.js +0 -5
- package/dist/gs/internal/testlog/index.js.map +0 -1
- package/dist/gs/maps/iter.gs.d.ts +0 -7
- package/dist/gs/maps/iter.gs.js +0 -65
- package/dist/gs/maps/iter.gs.js.map +0 -1
- package/dist/gs/maps/maps.gs.d.ts +0 -7
- package/dist/gs/maps/maps.gs.js +0 -79
- package/dist/gs/maps/maps.gs.js.map +0 -1
- package/dist/gs/reflect/abi.d.ts +0 -59
- package/dist/gs/reflect/abi.gs.d.ts +0 -59
- package/dist/gs/reflect/abi.gs.js +0 -79
- package/dist/gs/reflect/abi.gs.js.map +0 -1
- package/dist/gs/reflect/abi.js +0 -79
- package/dist/gs/reflect/abi.js.map +0 -1
- package/dist/gs/reflect/badlinkname.d.ts +0 -52
- package/dist/gs/reflect/badlinkname.gs.d.ts +0 -52
- package/dist/gs/reflect/badlinkname.gs.js +0 -72
- package/dist/gs/reflect/badlinkname.gs.js.map +0 -1
- package/dist/gs/reflect/badlinkname.js +0 -72
- package/dist/gs/reflect/badlinkname.js.map +0 -1
- package/dist/gs/reflect/deepequal.gs.d.ts +0 -25
- package/dist/gs/reflect/deepequal.gs.js +0 -308
- package/dist/gs/reflect/deepequal.gs.js.map +0 -1
- package/dist/gs/reflect/float32reg_generic.gs.d.ts +0 -2
- package/dist/gs/reflect/float32reg_generic.gs.js +0 -10
- package/dist/gs/reflect/float32reg_generic.gs.js.map +0 -1
- package/dist/gs/reflect/index.gs.d.ts +0 -1
- package/dist/gs/reflect/index.gs.js +0 -3
- package/dist/gs/reflect/index.gs.js.map +0 -1
- package/dist/gs/reflect/iter.gs.d.ts +0 -3
- package/dist/gs/reflect/iter.gs.js +0 -24
- package/dist/gs/reflect/iter.gs.js.map +0 -1
- package/dist/gs/reflect/makefunc.gs.d.ts +0 -34
- package/dist/gs/reflect/makefunc.gs.js +0 -288
- package/dist/gs/reflect/makefunc.gs.js.map +0 -1
- package/dist/gs/reflect/map_swiss.gs.d.ts +0 -14
- package/dist/gs/reflect/map_swiss.gs.js +0 -70
- package/dist/gs/reflect/map_swiss.gs.js.map +0 -1
- package/dist/gs/reflect/reflect.gs.d.ts +0 -132
- package/dist/gs/reflect/reflect.gs.js +0 -437
- package/dist/gs/reflect/reflect.gs.js.map +0 -1
- package/dist/gs/reflect/swapper.gs.d.ts +0 -1
- package/dist/gs/reflect/swapper.gs.js +0 -32
- package/dist/gs/reflect/swapper.gs.js.map +0 -1
- package/dist/gs/reflect/type.gs.d.ts +0 -4
- package/dist/gs/reflect/type.gs.js +0 -21
- package/dist/gs/reflect/type.gs.js.map +0 -1
- package/dist/gs/reflect/value.gs.d.ts +0 -4
- package/dist/gs/reflect/value.gs.js +0 -12
- package/dist/gs/reflect/value.gs.js.map +0 -1
- package/dist/gs/reflect/visiblefields.gs.d.ts +0 -3
- package/dist/gs/reflect/visiblefields.gs.js +0 -123
- package/dist/gs/reflect/visiblefields.gs.js.map +0 -1
- package/dist/gs/stringslite/index.d.ts +0 -1
- package/dist/gs/stringslite/index.js +0 -2
- package/dist/gs/stringslite/index.js.map +0 -1
- package/dist/gs/stringslite/strings.d.ts +0 -11
- package/dist/gs/stringslite/strings.js +0 -67
- package/dist/gs/stringslite/strings.js.map +0 -1
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import * as $ from '../builtin/builtin.js'
|
|
2
|
+
|
|
3
|
+
// Interface defines the methods required for sorting
|
|
4
|
+
export interface Interface {
|
|
5
|
+
Len(): number
|
|
6
|
+
Less(i: number, j: number): boolean
|
|
7
|
+
Swap(i: number, j: number): void
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
// Helper type for slice metadata
|
|
11
|
+
interface SliceMetadata<T> {
|
|
12
|
+
backing: T[]
|
|
13
|
+
offset: number
|
|
14
|
+
length: number
|
|
15
|
+
capacity: number
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// IntSlice type for sorting integers
|
|
19
|
+
export class IntSlice {
|
|
20
|
+
constructor(private _value: $.Slice<number>) {}
|
|
21
|
+
|
|
22
|
+
Len(): number {
|
|
23
|
+
return $.len(this._value)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
Less(i: number, j: number): boolean {
|
|
27
|
+
return ($.index(this._value, i) as number) < ($.index(this._value, j) as number)
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
Swap(i: number, j: number): void {
|
|
31
|
+
const temp = $.index(this._value, i) as number
|
|
32
|
+
if (Array.isArray(this._value)) {
|
|
33
|
+
this._value[i] = $.index(this._value, j) as number
|
|
34
|
+
this._value[j] = temp
|
|
35
|
+
} else if (this._value && typeof this._value === 'object' && '__meta__' in this._value) {
|
|
36
|
+
const meta = (this._value as any).__meta__ as SliceMetadata<number>
|
|
37
|
+
const backing = meta.backing
|
|
38
|
+
backing[meta.offset + i] = $.index(this._value, j) as number
|
|
39
|
+
backing[meta.offset + j] = temp
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// Float64Slice type for sorting float64s
|
|
45
|
+
export class Float64Slice {
|
|
46
|
+
constructor(private _value: $.Slice<number>) {}
|
|
47
|
+
|
|
48
|
+
Len(): number {
|
|
49
|
+
return $.len(this._value)
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
Less(i: number, j: number): boolean {
|
|
53
|
+
return ($.index(this._value, i) as number) < ($.index(this._value, j) as number)
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
Swap(i: number, j: number): void {
|
|
57
|
+
const temp = $.index(this._value, i) as number
|
|
58
|
+
if (Array.isArray(this._value)) {
|
|
59
|
+
this._value[i] = $.index(this._value, j) as number
|
|
60
|
+
this._value[j] = temp
|
|
61
|
+
} else if (this._value && typeof this._value === 'object' && '__meta__' in this._value) {
|
|
62
|
+
const meta = (this._value as any).__meta__ as SliceMetadata<number>
|
|
63
|
+
const backing = meta.backing
|
|
64
|
+
backing[meta.offset + i] = $.index(this._value, j) as number
|
|
65
|
+
backing[meta.offset + j] = temp
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// StringSlice type for sorting strings
|
|
71
|
+
export class StringSlice {
|
|
72
|
+
constructor(private _value: $.Slice<string>) {}
|
|
73
|
+
|
|
74
|
+
Len(): number {
|
|
75
|
+
return $.len(this._value)
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
Less(i: number, j: number): boolean {
|
|
79
|
+
return ($.index(this._value, i) as string) < ($.index(this._value, j) as string)
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
Swap(i: number, j: number): void {
|
|
83
|
+
const temp = $.index(this._value, i) as string
|
|
84
|
+
if (Array.isArray(this._value)) {
|
|
85
|
+
this._value[i] = $.index(this._value, j) as string
|
|
86
|
+
this._value[j] = temp
|
|
87
|
+
} else if (this._value && typeof this._value === 'object' && '__meta__' in this._value) {
|
|
88
|
+
const meta = (this._value as any).__meta__ as SliceMetadata<string>
|
|
89
|
+
const backing = meta.backing
|
|
90
|
+
backing[meta.offset + i] = $.index(this._value, j) as string
|
|
91
|
+
backing[meta.offset + j] = temp
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
// Sort sorts data in ascending order as determined by the Less method
|
|
97
|
+
export function Sort(data: Interface): void {
|
|
98
|
+
// Use a simple insertion sort for now - can be optimized later
|
|
99
|
+
const n = data.Len()
|
|
100
|
+
for (let i = 1; i < n; i++) {
|
|
101
|
+
for (let j = i; j > 0 && data.Less(j, j - 1); j--) {
|
|
102
|
+
data.Swap(j, j - 1)
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Stable sorts data while keeping the original order of equal elements
|
|
108
|
+
export function Stable(data: Interface): void {
|
|
109
|
+
// For simplicity, use the same sort - can be improved later
|
|
110
|
+
Sort(data)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// IsSorted reports whether data is sorted
|
|
114
|
+
export function IsSorted(data: Interface): boolean {
|
|
115
|
+
const n = data.Len()
|
|
116
|
+
for (let i = n - 1; i > 0; i--) {
|
|
117
|
+
if (data.Less(i, i - 1)) {
|
|
118
|
+
return false
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return true
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
// Reverse returns the reverse order for data
|
|
125
|
+
export function Reverse(data: Interface): Interface {
|
|
126
|
+
return {
|
|
127
|
+
Len: () => data.Len(),
|
|
128
|
+
Less: (i: number, j: number) => data.Less(j, i),
|
|
129
|
+
Swap: (i: number, j: number) => data.Swap(i, j)
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// Helper function to swap elements in a slice
|
|
134
|
+
function swapInSlice<T>(slice: $.Slice<T>, i: number, j: number): void {
|
|
135
|
+
if (!slice) return
|
|
136
|
+
|
|
137
|
+
const temp = $.index(slice, i)
|
|
138
|
+
if (Array.isArray(slice)) {
|
|
139
|
+
const val_j = $.index(slice, j)
|
|
140
|
+
const val_i = temp
|
|
141
|
+
slice[i] = val_j as T
|
|
142
|
+
slice[j] = val_i as T
|
|
143
|
+
} else if (typeof slice === 'object' && '__meta__' in slice) {
|
|
144
|
+
const meta = (slice as any).__meta__ as SliceMetadata<T>
|
|
145
|
+
const backing = meta.backing
|
|
146
|
+
backing[meta.offset + i] = $.index(slice, j) as T
|
|
147
|
+
backing[meta.offset + j] = temp as T
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Ints sorts a slice of ints in increasing order
|
|
152
|
+
export function Ints(x: $.Slice<number>): void {
|
|
153
|
+
if (!x) return
|
|
154
|
+
|
|
155
|
+
const n = $.len(x)
|
|
156
|
+
// Simple insertion sort
|
|
157
|
+
for (let i = 1; i < n; i++) {
|
|
158
|
+
for (let j = i; j > 0 && ($.index(x, j) as number) < ($.index(x, j - 1) as number); j--) {
|
|
159
|
+
swapInSlice(x, j, j - 1)
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
// IntsAreSorted reports whether the slice x is sorted in increasing order
|
|
165
|
+
export function IntsAreSorted(x: $.Slice<number>): boolean {
|
|
166
|
+
if (!x) return true
|
|
167
|
+
|
|
168
|
+
const n = $.len(x)
|
|
169
|
+
for (let i = n - 1; i > 0; i--) {
|
|
170
|
+
if (($.index(x, i) as number) < ($.index(x, i - 1) as number)) {
|
|
171
|
+
return false
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
return true
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
// Float64s sorts a slice of float64s in increasing order
|
|
178
|
+
export function Float64s(x: $.Slice<number>): void {
|
|
179
|
+
if (!x) return
|
|
180
|
+
|
|
181
|
+
const n = $.len(x)
|
|
182
|
+
// Simple insertion sort
|
|
183
|
+
for (let i = 1; i < n; i++) {
|
|
184
|
+
for (let j = i; j > 0 && ($.index(x, j) as number) < ($.index(x, j - 1) as number); j--) {
|
|
185
|
+
swapInSlice(x, j, j - 1)
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// Float64sAreSorted reports whether the slice x is sorted in increasing order
|
|
191
|
+
export function Float64sAreSorted(x: $.Slice<number>): boolean {
|
|
192
|
+
if (!x) return true
|
|
193
|
+
|
|
194
|
+
const n = $.len(x)
|
|
195
|
+
for (let i = n - 1; i > 0; i--) {
|
|
196
|
+
if (($.index(x, i) as number) < ($.index(x, i - 1) as number)) {
|
|
197
|
+
return false
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return true
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// Strings sorts a slice of strings in increasing order
|
|
204
|
+
export function Strings(x: $.Slice<string>): void {
|
|
205
|
+
if (!x) return
|
|
206
|
+
|
|
207
|
+
const n = $.len(x)
|
|
208
|
+
// Simple insertion sort
|
|
209
|
+
for (let i = 1; i < n; i++) {
|
|
210
|
+
for (let j = i; j > 0 && ($.index(x, j) as string) < ($.index(x, j - 1) as string); j--) {
|
|
211
|
+
swapInSlice(x, j, j - 1)
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
// StringsAreSorted reports whether the slice x is sorted in increasing order
|
|
217
|
+
export function StringsAreSorted(x: $.Slice<string>): boolean {
|
|
218
|
+
if (!x) return true
|
|
219
|
+
|
|
220
|
+
const n = $.len(x)
|
|
221
|
+
for (let i = n - 1; i > 0; i--) {
|
|
222
|
+
if (($.index(x, i) as string) < ($.index(x, i - 1) as string)) {
|
|
223
|
+
return false
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return true
|
|
227
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
package strings
|
|
2
|
+
|
|
3
|
+
// GsDependencies lists the import paths that this gs/ package requires
|
|
4
|
+
// These dependencies will be automatically copied when this package is included
|
|
5
|
+
var GsDependencies = []string{
|
|
6
|
+
"errors",
|
|
7
|
+
"io",
|
|
8
|
+
"iter",
|
|
9
|
+
"unicode",
|
|
10
|
+
"unicode/utf8",
|
|
11
|
+
}
|
package/gs/unicode/utf8/utf8.ts
CHANGED
|
@@ -63,18 +63,21 @@ export function DecodeLastRuneInString(s: string): [number, number] {
|
|
|
63
63
|
}
|
|
64
64
|
|
|
65
65
|
// DecodeRune unpacks the first UTF-8 encoding in p and returns the rune and its width in bytes.
|
|
66
|
-
export function DecodeRune(p:
|
|
67
|
-
if (p
|
|
66
|
+
export function DecodeRune(p: $.Bytes): [number, number] {
|
|
67
|
+
if (!p?.length) {
|
|
68
68
|
return [RuneError, 0]
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
if (p[0] < RuneSelf) {
|
|
72
|
-
return [p[0], 1]
|
|
71
|
+
if (p![0] < RuneSelf) {
|
|
72
|
+
return [p![0], 1]
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
+
// Convert p to Uint8Array to satisfy AllowsSharedBufferSource requirement
|
|
76
|
+
const bytes = $.normalizeBytes(p)
|
|
77
|
+
|
|
75
78
|
// Convert bytes to string and decode
|
|
76
79
|
const decoder = new TextDecoder('utf-8', { fatal: false })
|
|
77
|
-
const str = decoder.decode(
|
|
80
|
+
const str = decoder.decode(bytes.slice(0, Math.min(4, bytes.length)))
|
|
78
81
|
if (str.length === 0 || str === '\uFFFD') {
|
|
79
82
|
return [RuneError, 1]
|
|
80
83
|
}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function Getenv(key: string): void;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../gs/internal/testlog/index.ts"],"names":[],"mappings":"AAEA,oDAAoD;AAEpD,MAAM,UAAU,MAAM,CAAC,GAAW;IAChC,2CAA2C;AAC7C,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
-
import * as iter from "@goscript/iter/index.js";
|
|
3
|
-
export declare function All<K extends $.Comparable, V>(m: Map<K, V>): iter.Seq2<K, V>;
|
|
4
|
-
export declare function Keys<K extends $.Comparable, V>(m: Map<K, V>): iter.Seq<K>;
|
|
5
|
-
export declare function Values<K extends $.Comparable, V>(m: Map<K, V>): iter.Seq<V>;
|
|
6
|
-
export declare function Insert<K extends $.Comparable, V>(m: Map<K, V>, seq: iter.Seq2<K, V>): void;
|
|
7
|
-
export declare function Collect<K extends $.Comparable, V extends any>(seq: iter.Seq2<K, V>): Map<K, V>;
|
package/dist/gs/maps/iter.gs.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
-
// All returns an iterator over key-value pairs from m.
|
|
3
|
-
// The iteration order is not specified and is not guaranteed
|
|
4
|
-
// to be the same from one call to the next.
|
|
5
|
-
export function All(m) {
|
|
6
|
-
return (_yield) => {
|
|
7
|
-
for (const [k, v] of m.entries()) {
|
|
8
|
-
{
|
|
9
|
-
if (!_yield(k, v)) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
// Keys returns an iterator over keys in m.
|
|
17
|
-
// The iteration order is not specified and is not guaranteed
|
|
18
|
-
// to be the same from one call to the next.
|
|
19
|
-
export function Keys(m) {
|
|
20
|
-
return (_yield) => {
|
|
21
|
-
for (const [k, _v] of m.entries()) {
|
|
22
|
-
{
|
|
23
|
-
if (!_yield(k)) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
30
|
-
// Values returns an iterator over values in m.
|
|
31
|
-
// The iteration order is not specified and is not guaranteed
|
|
32
|
-
// to be the same from one call to the next.
|
|
33
|
-
export function Values(m) {
|
|
34
|
-
return (_yield) => {
|
|
35
|
-
for (const [_k, v] of m.entries()) {
|
|
36
|
-
{
|
|
37
|
-
if (!_yield(v)) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
// Insert adds the key-value pairs from seq to m.
|
|
45
|
-
// If a key in seq already exists in m, its value will be overwritten.
|
|
46
|
-
export function Insert(m, seq) {
|
|
47
|
-
;
|
|
48
|
-
(() => {
|
|
49
|
-
let shouldContinue = true;
|
|
50
|
-
seq((k, v) => {
|
|
51
|
-
{
|
|
52
|
-
$.mapSet(m, k, v);
|
|
53
|
-
}
|
|
54
|
-
return shouldContinue;
|
|
55
|
-
});
|
|
56
|
-
})();
|
|
57
|
-
}
|
|
58
|
-
// Collect collects key-value pairs from seq into a new map
|
|
59
|
-
// and returns it.
|
|
60
|
-
export function Collect(seq) {
|
|
61
|
-
let m = $.makeMap();
|
|
62
|
-
Insert(m, seq);
|
|
63
|
-
return m;
|
|
64
|
-
}
|
|
65
|
-
//# sourceMappingURL=iter.gs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"iter.gs.js","sourceRoot":"","sources":["../../../gs/maps/iter.gs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,8BAA8B,CAAC;AAIlD,uDAAuD;AACvD,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,GAAG,CAA4B,CAAY;IAC1D,OAAO,CAAC,MAA0C,EAAQ,EAAE;QAC3D,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YAClC,CAAC;gBACA,IAAI,CAAC,MAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACpB,OAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAA;AACF,CAAC;AAED,2CAA2C;AAC3C,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,IAAI,CAA4B,CAAY;IAC3D,OAAO,CAAC,MAAmC,EAAQ,EAAE;QACpD,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,CAAC;gBACA,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjB,OAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAA;AACF,CAAC;AAED,+CAA+C;AAC/C,6DAA6D;AAC7D,4CAA4C;AAC5C,MAAM,UAAU,MAAM,CAA4B,CAAY;IAC7D,OAAO,CAAC,MAAmC,EAAQ,EAAE;QACpD,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;YACnC,CAAC;gBACA,IAAI,CAAC,MAAO,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjB,OAAM;gBACP,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC,CAAA;AACF,CAAC;AAED,iDAAiD;AACjD,sEAAsE;AACtE,MAAM,UAAU,MAAM,CAA4B,CAAY,EAAE,GAAoB;IACnF,CAAC;IAAA,CAAC,GAAG,EAAE;QACN,IAAI,cAAc,GAAG,IAAI,CAAA;QACzB,GAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACb,CAAC;gBACA,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;YAClB,CAAC;YACD,OAAO,cAAc,CAAA;QACtB,CAAC,CAAC,CAAA;IACH,CAAC,CAAC,EAAE,CAAA;AACL,CAAC;AAED,2DAA2D;AAC3D,kBAAkB;AAClB,MAAM,UAAU,OAAO,CAAwC,GAAoB;IAClF,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAQ,CAAA;IACzB,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;IACd,OAAO,CAAC,CAAA;AACT,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
-
export declare function Equal<K extends $.Comparable, V extends $.Comparable>(m1: Map<K, V>, m2: Map<K, V>): boolean;
|
|
3
|
-
export declare function EqualFunc<K extends $.Comparable, V1, V2>(m1: Map<K, V1>, m2: Map<K, V2>, eq: ((p0: V1, p1: V2) => boolean) | null): boolean;
|
|
4
|
-
export declare function clone<K extends $.Comparable, V>(m: Map<K, V> | null): Map<K, V> | null;
|
|
5
|
-
export declare function Clone<K extends $.Comparable, V>(m: Map<K, V>): Map<K, V>;
|
|
6
|
-
export declare function Copy<K extends $.Comparable, V>(dst: Map<K, V>, src: Map<K, V>): void;
|
|
7
|
-
export declare function DeleteFunc<K extends $.Comparable, V>(m: Map<K, V>, del: ((p0: K, p1: V) => boolean) | null): void;
|
package/dist/gs/maps/maps.gs.js
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
-
// Equal reports whether two maps contain the same key/value pairs.
|
|
3
|
-
// Values are compared using ==.
|
|
4
|
-
export function Equal(m1, m2) {
|
|
5
|
-
if ($.len(m1) != $.len(m2)) {
|
|
6
|
-
return false;
|
|
7
|
-
}
|
|
8
|
-
for (const [k, v1] of m1.entries()) {
|
|
9
|
-
{
|
|
10
|
-
{
|
|
11
|
-
let [v2, ok] = $.mapGet(m2, k, null);
|
|
12
|
-
if (!ok || v1 != v2) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
20
|
-
// EqualFunc is like Equal, but compares values using eq.
|
|
21
|
-
// Keys are still compared with ==.
|
|
22
|
-
export function EqualFunc(m1, m2, eq) {
|
|
23
|
-
if ($.len(m1) != $.len(m2)) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
for (const [k, v1] of m1.entries()) {
|
|
27
|
-
{
|
|
28
|
-
{
|
|
29
|
-
let [v2, ok] = $.mapGet(m2, k, null);
|
|
30
|
-
if (!ok || !eq(v1, v2)) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
|
-
// clone returns a shallow copy of the map.
|
|
39
|
-
export function clone(m) {
|
|
40
|
-
if (m == null) {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
const result = $.makeMap();
|
|
44
|
-
for (const [k, v] of m.entries()) {
|
|
45
|
-
$.mapSet(result, k, v);
|
|
46
|
-
}
|
|
47
|
-
return result;
|
|
48
|
-
}
|
|
49
|
-
// Clone returns a copy of m. This is a shallow clone:
|
|
50
|
-
// the new keys and values are set using ordinary assignment.
|
|
51
|
-
export function Clone(m) {
|
|
52
|
-
// Preserve nil in case it matters.
|
|
53
|
-
if (m == null) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
return clone(m);
|
|
57
|
-
}
|
|
58
|
-
// Copy copies all key/value pairs in src adding them to dst.
|
|
59
|
-
// When a key in src is already present in dst,
|
|
60
|
-
// the value in dst will be overwritten by the value associated
|
|
61
|
-
// with the key in src.
|
|
62
|
-
export function Copy(dst, src) {
|
|
63
|
-
for (const [k, v] of src.entries()) {
|
|
64
|
-
{
|
|
65
|
-
$.mapSet(dst, k, v);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
// DeleteFunc deletes any key/value pairs from m for which del returns true.
|
|
70
|
-
export function DeleteFunc(m, del) {
|
|
71
|
-
for (const [k, v] of m.entries()) {
|
|
72
|
-
{
|
|
73
|
-
if (del(k, v)) {
|
|
74
|
-
$.deleteMapEntry(m, k);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=maps.gs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"maps.gs.js","sourceRoot":"","sources":["../../../gs/maps/maps.gs.ts"],"names":[],"mappings":"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"}
|
package/dist/gs/reflect/abi.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
-
import { uintptr, Pointer } from "./types.js";
|
|
3
|
-
export interface Type {
|
|
4
|
-
Kind(): number;
|
|
5
|
-
Align(): number;
|
|
6
|
-
Size(): number;
|
|
7
|
-
}
|
|
8
|
-
export declare class abiStep {
|
|
9
|
-
freg: number;
|
|
10
|
-
ireg: number;
|
|
11
|
-
kind: number;
|
|
12
|
-
offset: uintptr;
|
|
13
|
-
size: uintptr;
|
|
14
|
-
stkOff: uintptr;
|
|
15
|
-
constructor(init?: Partial<{
|
|
16
|
-
freg?: number;
|
|
17
|
-
ireg?: number;
|
|
18
|
-
kind?: number;
|
|
19
|
-
offset?: uintptr;
|
|
20
|
-
size?: uintptr;
|
|
21
|
-
stkOff?: uintptr;
|
|
22
|
-
}>);
|
|
23
|
-
}
|
|
24
|
-
export declare class abiSeq {
|
|
25
|
-
iregs: number;
|
|
26
|
-
fregs: number;
|
|
27
|
-
stackBytes: uintptr;
|
|
28
|
-
steps: $.Slice<abiStep>;
|
|
29
|
-
valueStart: $.Slice<number>;
|
|
30
|
-
constructor(init?: Partial<{
|
|
31
|
-
fregs?: number;
|
|
32
|
-
iregs?: number;
|
|
33
|
-
stackBytes?: uintptr;
|
|
34
|
-
steps?: $.Slice<abiStep>;
|
|
35
|
-
valueStart?: $.Slice<number>;
|
|
36
|
-
}>);
|
|
37
|
-
print(): void;
|
|
38
|
-
assignIntN(offset: uintptr, size: uintptr, n: number, ptrMap: number): boolean;
|
|
39
|
-
assignFloatN(offset: uintptr, size: uintptr, n: number): boolean;
|
|
40
|
-
stackAssign(size: uintptr, alignment: uintptr): void;
|
|
41
|
-
regAssign(t: Type | null, offset: uintptr): boolean;
|
|
42
|
-
}
|
|
43
|
-
export declare class abiDesc {
|
|
44
|
-
call: abiSeq;
|
|
45
|
-
ret: abiSeq;
|
|
46
|
-
stackCallArgsSize: uintptr;
|
|
47
|
-
retOffset: uintptr;
|
|
48
|
-
spill: uintptr;
|
|
49
|
-
inRegPtrs: any;
|
|
50
|
-
outRegPtrs: any;
|
|
51
|
-
stackPtrs: any;
|
|
52
|
-
constructor(init?: any);
|
|
53
|
-
dump(): void;
|
|
54
|
-
}
|
|
55
|
-
export declare function newAbiDesc(t: any, rcvr: any): abiDesc;
|
|
56
|
-
export declare function intFromReg(r: any, reg: number, argSize: uintptr, to: Pointer): void;
|
|
57
|
-
export declare function intToReg(r: any, reg: number, argSize: uintptr, from: Pointer): void;
|
|
58
|
-
export declare function floatFromReg(r: any, reg: number, argSize: uintptr, to: Pointer): void;
|
|
59
|
-
export declare function floatToReg(r: any, reg: number, argSize: uintptr, from: Pointer): void;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
-
import { uintptr, Pointer } from "./types.js";
|
|
3
|
-
export interface Type {
|
|
4
|
-
Kind(): number;
|
|
5
|
-
Align(): number;
|
|
6
|
-
Size(): number;
|
|
7
|
-
}
|
|
8
|
-
export declare class abiStep {
|
|
9
|
-
freg: number;
|
|
10
|
-
ireg: number;
|
|
11
|
-
kind: number;
|
|
12
|
-
offset: uintptr;
|
|
13
|
-
size: uintptr;
|
|
14
|
-
stkOff: uintptr;
|
|
15
|
-
constructor(init?: Partial<{
|
|
16
|
-
freg?: number;
|
|
17
|
-
ireg?: number;
|
|
18
|
-
kind?: number;
|
|
19
|
-
offset?: uintptr;
|
|
20
|
-
size?: uintptr;
|
|
21
|
-
stkOff?: uintptr;
|
|
22
|
-
}>);
|
|
23
|
-
}
|
|
24
|
-
export declare class abiSeq {
|
|
25
|
-
iregs: number;
|
|
26
|
-
fregs: number;
|
|
27
|
-
stackBytes: uintptr;
|
|
28
|
-
steps: $.Slice<abiStep>;
|
|
29
|
-
valueStart: $.Slice<number>;
|
|
30
|
-
constructor(init?: Partial<{
|
|
31
|
-
fregs?: number;
|
|
32
|
-
iregs?: number;
|
|
33
|
-
stackBytes?: uintptr;
|
|
34
|
-
steps?: $.Slice<abiStep>;
|
|
35
|
-
valueStart?: $.Slice<number>;
|
|
36
|
-
}>);
|
|
37
|
-
print(): void;
|
|
38
|
-
assignIntN(offset: uintptr, size: uintptr, n: number, ptrMap: number): boolean;
|
|
39
|
-
assignFloatN(offset: uintptr, size: uintptr, n: number): boolean;
|
|
40
|
-
stackAssign(size: uintptr, alignment: uintptr): void;
|
|
41
|
-
regAssign(t: Type | null, offset: uintptr): boolean;
|
|
42
|
-
}
|
|
43
|
-
export declare class abiDesc {
|
|
44
|
-
call: abiSeq;
|
|
45
|
-
ret: abiSeq;
|
|
46
|
-
stackCallArgsSize: uintptr;
|
|
47
|
-
retOffset: uintptr;
|
|
48
|
-
spill: uintptr;
|
|
49
|
-
inRegPtrs: any;
|
|
50
|
-
outRegPtrs: any;
|
|
51
|
-
stackPtrs: any;
|
|
52
|
-
constructor(init?: any);
|
|
53
|
-
dump(): void;
|
|
54
|
-
}
|
|
55
|
-
export declare function newAbiDesc(t: any, rcvr: any): abiDesc;
|
|
56
|
-
export declare function intFromReg(r: any, reg: number, argSize: uintptr, to: Pointer): void;
|
|
57
|
-
export declare function intToReg(r: any, reg: number, argSize: uintptr, from: Pointer): void;
|
|
58
|
-
export declare function floatFromReg(r: any, reg: number, argSize: uintptr, to: Pointer): void;
|
|
59
|
-
export declare function floatToReg(r: any, reg: number, argSize: uintptr, from: Pointer): void;
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import * as $ from "@goscript/builtin/builtin.js";
|
|
2
|
-
export class abiStep {
|
|
3
|
-
freg = 0;
|
|
4
|
-
ireg = 0;
|
|
5
|
-
kind = 0;
|
|
6
|
-
offset = 0;
|
|
7
|
-
size = 0;
|
|
8
|
-
stkOff = 0;
|
|
9
|
-
constructor(init) {
|
|
10
|
-
if (init) {
|
|
11
|
-
Object.assign(this, init);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
export class abiSeq {
|
|
16
|
-
iregs = 0;
|
|
17
|
-
fregs = 0;
|
|
18
|
-
stackBytes = 0;
|
|
19
|
-
steps = $.makeSlice(0, 0);
|
|
20
|
-
valueStart = $.makeSlice(0, 0);
|
|
21
|
-
constructor(init) {
|
|
22
|
-
if (init) {
|
|
23
|
-
Object.assign(this, init);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
print() {
|
|
27
|
-
// Stub implementation
|
|
28
|
-
}
|
|
29
|
-
assignIntN(offset, size, n, ptrMap) {
|
|
30
|
-
// Stub implementation
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
assignFloatN(offset, size, n) {
|
|
34
|
-
// Stub implementation
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
stackAssign(size, alignment) {
|
|
38
|
-
// Stub implementation
|
|
39
|
-
}
|
|
40
|
-
regAssign(t, offset) {
|
|
41
|
-
// Stub implementation
|
|
42
|
-
return false;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
export class abiDesc {
|
|
46
|
-
call = new abiSeq();
|
|
47
|
-
ret = new abiSeq();
|
|
48
|
-
stackCallArgsSize = 0;
|
|
49
|
-
retOffset = 0;
|
|
50
|
-
spill = 0;
|
|
51
|
-
inRegPtrs = {};
|
|
52
|
-
outRegPtrs = {};
|
|
53
|
-
stackPtrs = null;
|
|
54
|
-
constructor(init) {
|
|
55
|
-
if (init) {
|
|
56
|
-
Object.assign(this, init);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
dump() {
|
|
60
|
-
// Stub implementation
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
// Stub functions
|
|
64
|
-
export function newAbiDesc(t, rcvr) {
|
|
65
|
-
return new abiDesc();
|
|
66
|
-
}
|
|
67
|
-
export function intFromReg(r, reg, argSize, to) {
|
|
68
|
-
// Stub implementation
|
|
69
|
-
}
|
|
70
|
-
export function intToReg(r, reg, argSize, from) {
|
|
71
|
-
// Stub implementation
|
|
72
|
-
}
|
|
73
|
-
export function floatFromReg(r, reg, argSize, to) {
|
|
74
|
-
// Stub implementation
|
|
75
|
-
}
|
|
76
|
-
export function floatToReg(r, reg, argSize, from) {
|
|
77
|
-
// Stub implementation
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=abi.gs.js.map
|