feat(cast): 具名化 JS 导出并动态包裹错误(by AI)
This commit is contained in:
parent
c4e82b7033
commit
b6d6fe6415
@ -1,5 +1,11 @@
|
|||||||
# CHANGELOG
|
# 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)
|
## v1.5.2 (2026-06-11)
|
||||||
- **依赖对齐**: 升级 `jsmod` 依赖至 v1.5.2。
|
- **依赖对齐**: 升级 `jsmod` 依赖至 v1.5.2。
|
||||||
|
|
||||||
|
|||||||
2
go.mod
2
go.mod
@ -2,4 +2,4 @@ module apigo.cc/go/cast
|
|||||||
|
|
||||||
go 1.25.0
|
go 1.25.0
|
||||||
|
|
||||||
require apigo.cc/go/jsmod v1.5.0
|
require apigo.cc/go/jsmod v1.5.3
|
||||||
|
|||||||
15
js_export.go
15
js_export.go
@ -9,11 +9,7 @@ func init() {
|
|||||||
// JSON
|
// JSON
|
||||||
"ToJSON": ToJSON,
|
"ToJSON": ToJSON,
|
||||||
"PrettyToJSON": PrettyToJSON,
|
"PrettyToJSON": PrettyToJSON,
|
||||||
"FromJSON": func(data any) (any, error) {
|
"FromJSON": jsFromJSON,
|
||||||
var res any
|
|
||||||
err := UnmarshalJSON(data, &res)
|
|
||||||
return res, err
|
|
||||||
},
|
|
||||||
|
|
||||||
// Time
|
// Time
|
||||||
"Now": Now,
|
"Now": Now,
|
||||||
@ -29,3 +25,12 @@ func init() {
|
|||||||
"JoinArgs": JoinArgs,
|
"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
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user