Compare commits

...

2 Commits

Author SHA1 Message Date
AI Engineer
b6d6fe6415 feat(cast): 具名化 JS 导出并动态包裹错误(by AI) 2026-06-21 10:10:51 +08:00
AI Engineer
c4e82b7033 chore: align jsmod dependency to v1.5.2 (by AI) 2026-06-11 19:11:27 +08:00
3 changed files with 21 additions and 7 deletions

View File

@ -1,5 +1,14 @@
# CHANGELOG
## v1.5.3 (2026-06-21)
- **重构与错误堆栈支持**:
- 重构 `js_export.go`,将 `FromJSON` 匿名函数改为具名函数 `jsFromJSON`
- 使用 `jsmod.MakeError` 包裹 `FromJSON` 执行中的 error。
- 升级 `jsmod` 依赖至 v1.5.3。
## v1.5.2 (2026-06-11)
- **依赖对齐**: 升级 `jsmod` 依赖至 v1.5.2。
## v1.5.1 (2026-06-08)
- **JS 对齐**: 将所有注册到 `jsmod` 的导出方法名统一为 PascalCase`ToJSON`, `FromJSON`, `Now`),以消除 JS 与 Go 调用体感上的摩擦。

2
go.mod
View File

@ -2,4 +2,4 @@ module apigo.cc/go/cast
go 1.25.0
require apigo.cc/go/jsmod v1.5.0
require apigo.cc/go/jsmod v1.5.3

View File

@ -9,11 +9,7 @@ func init() {
// JSON
"ToJSON": ToJSON,
"PrettyToJSON": PrettyToJSON,
"FromJSON": func(data any) (any, error) {
var res any
err := UnmarshalJSON(data, &res)
return res, err
},
"FromJSON": jsFromJSON,
// Time
"Now": Now,
@ -29,3 +25,12 @@ func init() {
"JoinArgs": JoinArgs,
})
}
func jsFromJSON(data any) (any, error) {
var res any
err := UnmarshalJSON(data, &res)
if err != nil {
return nil, jsmod.MakeError(err)
}
return res, nil
}