goscript 0.0.76 → 0.0.78
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 +100 -33
- package/compiler/analysis_test.go +2 -7
- package/compiler/code-writer.go +2 -2
- package/compiler/compiler.go +4 -4
- package/compiler/composite-lit.go +4 -6
- package/compiler/constraint.go +2 -4
- package/compiler/decl.go +34 -0
- package/compiler/expr-call-async.go +4 -0
- package/compiler/expr-call-helpers.go +98 -8
- package/compiler/expr-call-make.go +4 -4
- package/compiler/expr-call.go +3 -0
- package/compiler/expr-type.go +42 -0
- package/compiler/gs_dependencies_test.go +3 -14
- package/compiler/index.ts +20 -5
- package/compiler/protobuf.go +21 -21
- package/compiler/spec-struct.go +195 -30
- package/compiler/spec.go +32 -3
- package/compiler/stmt-assign.go +2 -2
- package/compiler/type-info.go +20 -3
- package/compiler/type-utils.go +2 -4
- package/compiler/type.go +3 -4
- package/dist/compiler/index.js +13 -4
- package/dist/compiler/index.js.map +1 -1
- package/dist/gs/builtin/slice.js +2 -3
- package/dist/gs/builtin/slice.js.map +1 -1
- package/dist/gs/builtin/type.d.ts +1 -0
- package/dist/gs/builtin/type.js +8 -14
- package/dist/gs/builtin/type.js.map +1 -1
- package/dist/gs/bytes/buffer.gs.d.ts +1 -0
- package/dist/gs/bytes/buffer.gs.js +20 -0
- package/dist/gs/bytes/buffer.gs.js.map +1 -1
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.d.ts +5 -0
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js +10 -0
- package/dist/gs/github.com/aperturerobotics/protobuf-go-lite/index.js.map +1 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/browser.d.ts +50 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/browser.js +221 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/browser.js.map +1 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/index.d.ts +1 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/index.js +2 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/index.js.map +1 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/index.d.ts +1 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/index.js +2 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/index.js.map +1 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/runtime.d.ts +56 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/runtime.js +17 -0
- package/dist/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/runtime.js.map +1 -0
- package/dist/gs/io/fs/format.js +2 -6
- package/dist/gs/io/fs/format.js.map +1 -1
- package/dist/gs/io/fs/glob.js +18 -23
- package/dist/gs/io/fs/glob.js.map +1 -1
- package/dist/gs/path/match.js +9 -22
- package/dist/gs/path/match.js.map +1 -1
- package/dist/gs/reflect/index.d.ts +1 -1
- package/dist/gs/reflect/index.js +1 -1
- package/dist/gs/reflect/index.js.map +1 -1
- package/dist/gs/reflect/type.d.ts +1 -0
- package/dist/gs/reflect/type.js +52 -23
- package/dist/gs/reflect/type.js.map +1 -1
- package/dist/gs/strings/iter.js +1 -1
- package/dist/gs/strings/iter.js.map +1 -1
- package/dist/gs/strings/reader.js +1 -1
- package/dist/gs/strings/reader.js.map +1 -1
- package/dist/gs/strings/replace.js +9 -20
- package/dist/gs/strings/replace.js.map +1 -1
- package/dist/gs/time/time.js +2 -2
- package/dist/gs/time/time.js.map +1 -1
- package/go.mod +1 -1
- package/go.sum +2 -2
- package/gs/builtin/slice.ts +2 -2
- package/gs/builtin/type.ts +14 -14
- package/gs/bytes/buffer.gs.ts +21 -1
- package/gs/fmt/fmt.test.ts +1 -1
- package/gs/github.com/aperturerobotics/protobuf-go-lite/index.ts +14 -0
- package/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/browser.ts +238 -0
- package/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/index.ts +1 -0
- package/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/browser/meta.json +12 -0
- package/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/index.ts +1 -0
- package/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/meta.json +8 -0
- package/gs/github.com/aperturerobotics/wasivm/wazero/kernel/runtime/runtime.ts +94 -0
- package/gs/io/fs/format.ts +2 -5
- package/gs/io/fs/glob.ts +18 -21
- package/gs/path/match.ts +9 -22
- package/gs/reflect/index.ts +1 -0
- package/gs/reflect/type.ts +62 -25
- package/gs/strings/iter.ts +1 -1
- package/gs/strings/reader.ts +1 -1
- package/gs/strings/replace.ts +13 -18
- package/gs/time/time.ts +2 -2
- package/package.json +18 -15
package/gs/strings/reader.ts
CHANGED
package/gs/strings/replace.ts
CHANGED
|
@@ -395,15 +395,13 @@ class trieNode {
|
|
|
395
395
|
// First byte differs, start a new lookup table here. Looking up
|
|
396
396
|
// what is currently t.prefix[0] will lead to prefixNode, and
|
|
397
397
|
// looking up key[0] will lead to keyNode.
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
})
|
|
406
|
-
}
|
|
398
|
+
const prefixNode =
|
|
399
|
+
$.len(t!.prefix) == 1
|
|
400
|
+
? t!.next
|
|
401
|
+
: new trieNode({
|
|
402
|
+
next: t!.next,
|
|
403
|
+
prefix: $.sliceString(t!.prefix, 1, undefined),
|
|
404
|
+
})
|
|
407
405
|
let keyNode = new trieNode()
|
|
408
406
|
t!.table = $.makeSlice<trieNode | null>(r!.tableSize)
|
|
409
407
|
t!.table![r!.mapping![$.indexString(t!.prefix, 0)]] = prefixNode
|
|
@@ -578,9 +576,7 @@ class genericReplacer {
|
|
|
578
576
|
const r = this
|
|
579
577
|
let sw = getStringWriter(w)
|
|
580
578
|
let last: number = 0
|
|
581
|
-
let wn: number = 0
|
|
582
579
|
let n: number = 0
|
|
583
|
-
let err: $.GoError | null = null
|
|
584
580
|
let prevMatchEmpty: boolean = false
|
|
585
581
|
for (let i = 0; i <= $.len(s); ) {
|
|
586
582
|
// Fast path: s[i] is not a prefix of any pattern.
|
|
@@ -599,7 +595,7 @@ class genericReplacer {
|
|
|
599
595
|
)
|
|
600
596
|
prevMatchEmpty = match && keylen == 0
|
|
601
597
|
if (match) {
|
|
602
|
-
|
|
598
|
+
let [wn, err] = sw!.WriteString($.sliceString(s, last, i))
|
|
603
599
|
n += wn
|
|
604
600
|
if (err != null) {
|
|
605
601
|
return [n, err]
|
|
@@ -616,10 +612,11 @@ class genericReplacer {
|
|
|
616
612
|
i++
|
|
617
613
|
}
|
|
618
614
|
if (last != $.len(s)) {
|
|
619
|
-
|
|
615
|
+
const [wn, err] = sw!.WriteString($.sliceString(s, last, undefined))
|
|
620
616
|
n += wn
|
|
617
|
+
return [n, err]
|
|
621
618
|
}
|
|
622
|
-
return [n,
|
|
619
|
+
return [n, null]
|
|
623
620
|
}
|
|
624
621
|
}
|
|
625
622
|
|
|
@@ -761,15 +758,13 @@ class singleStringReplacer {
|
|
|
761
758
|
const r = this
|
|
762
759
|
let sw = getStringWriter(w)
|
|
763
760
|
let i: number = 0
|
|
764
|
-
let wn: number = 0
|
|
765
761
|
let n: number = 0
|
|
766
|
-
let err: $.GoError | null = null
|
|
767
762
|
for (;;) {
|
|
768
763
|
let match = r!.finder!.next($.sliceString(s, i, undefined))
|
|
769
764
|
if (match == -1) {
|
|
770
765
|
break
|
|
771
766
|
}
|
|
772
|
-
|
|
767
|
+
let [wn, err] = sw!.WriteString($.sliceString(s, i, i + match))
|
|
773
768
|
n += wn
|
|
774
769
|
if (err != null) {
|
|
775
770
|
return [n, err]
|
|
@@ -781,7 +776,7 @@ class singleStringReplacer {
|
|
|
781
776
|
}
|
|
782
777
|
i += match + $.len(r!.finder!.pattern)
|
|
783
778
|
}
|
|
784
|
-
|
|
779
|
+
const [wn, err] = sw!.WriteString($.sliceString(s, i, undefined))
|
|
785
780
|
n += wn
|
|
786
781
|
return [n, err]
|
|
787
782
|
}
|
package/gs/time/time.ts
CHANGED
|
@@ -215,9 +215,9 @@ export class Time {
|
|
|
215
215
|
const ampmLower = ampmUpper.toLowerCase()
|
|
216
216
|
|
|
217
217
|
// Timezone offset calculation - use the location's offset if available
|
|
218
|
-
let tzOffsetSeconds
|
|
218
|
+
let tzOffsetSeconds: number
|
|
219
219
|
let tzName = this._location.name
|
|
220
|
-
let isUTC
|
|
220
|
+
let isUTC: boolean
|
|
221
221
|
|
|
222
222
|
if (this._location.offsetSeconds !== undefined) {
|
|
223
223
|
// Use the fixed offset from the location
|
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.78",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Aperture Robotics LLC.",
|
|
7
7
|
"email": "support@aperture.us",
|
|
@@ -92,22 +92,25 @@
|
|
|
92
92
|
"./{src,builtin,example}/**/(*.ts|*.tsx|*.html|*.css|*.scss)": "prettier --config .prettierrc.yaml --write"
|
|
93
93
|
},
|
|
94
94
|
"devDependencies": {
|
|
95
|
-
"@aptre/protobuf-es-lite": "^1.0.
|
|
95
|
+
"@aptre/protobuf-es-lite": "^1.0.2",
|
|
96
96
|
"@eslint/js": "^10.0.0",
|
|
97
|
-
"@types/node": "^25.
|
|
98
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
99
|
-
"@typescript-eslint/parser": "^8.
|
|
100
|
-
"@typescript/native-preview": "^7.0.0-dev.
|
|
101
|
-
"@vitest/browser": "^4.
|
|
102
|
-
"@vitest/browser-playwright": "^4.
|
|
103
|
-
"@vitest/browser-preview": "^4.
|
|
104
|
-
"eslint": "^10.
|
|
97
|
+
"@types/node": "^25.5.2",
|
|
98
|
+
"@typescript-eslint/eslint-plugin": "^8.58.0",
|
|
99
|
+
"@typescript-eslint/parser": "^8.58.0",
|
|
100
|
+
"@typescript/native-preview": "^7.0.0-dev.20260404.1",
|
|
101
|
+
"@vitest/browser": "^4.1.2",
|
|
102
|
+
"@vitest/browser-playwright": "^4.1.2",
|
|
103
|
+
"@vitest/browser-preview": "^4.1.2",
|
|
104
|
+
"eslint": "^10.2.0",
|
|
105
105
|
"eslint-config-prettier": "^10.0.2",
|
|
106
106
|
"husky": "^9.1.7",
|
|
107
|
-
"lint-staged": "^16.
|
|
108
|
-
"prettier": "^3.
|
|
109
|
-
"typescript": "^
|
|
110
|
-
"typescript-eslint": "^8.
|
|
111
|
-
"vitest": "^4.
|
|
107
|
+
"lint-staged": "^16.4.0",
|
|
108
|
+
"prettier": "^3.8.1",
|
|
109
|
+
"typescript": "^6.0.0",
|
|
110
|
+
"typescript-eslint": "^8.58.0",
|
|
111
|
+
"vitest": "^4.1.2"
|
|
112
|
+
},
|
|
113
|
+
"dependencies": {
|
|
114
|
+
"globals": "^17.4.0"
|
|
112
115
|
}
|
|
113
116
|
}
|