From 6f18f6e6a889932691c19d77f8d3b6274144e0e8 Mon Sep 17 00:00:00 2001 From: AI Engineer Date: Sat, 30 May 2026 18:27:24 +0800 Subject: [PATCH] feat: register core capabilities to jsmod --- CHANGELOG.md | 5 +++++ go.mod | 2 ++ go.sum | 2 ++ js_export.go | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 44 insertions(+) create mode 100644 js_export.go diff --git a/CHANGELOG.md b/CHANGELOG.md index d1b9507..56a93bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog: @go/encoding +## [v1.3.2] - 2026-05-30 + +### Added +- **JSMOD 注册**:将核心编解码能力注册到 `jsmod`,支持在 JS 环境中调用 Base64, Hex, URL, HTML 及 SortJoin 等能力。 + ## [v1.1.1] - 2026-05-08 ### Added diff --git a/go.mod b/go.mod index 6809518..ebe0d83 100644 --- a/go.mod +++ b/go.mod @@ -3,3 +3,5 @@ module apigo.cc/go/encoding go 1.25.0 require apigo.cc/go/cast v1.3.3 + +require apigo.cc/go/jsmod v1.0.0 diff --git a/go.sum b/go.sum index 6614aec..b8d9605 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,4 @@ apigo.cc/go/cast v1.3.3 h1:aln5eDR5DZVWVzZ/y5SJh1gQNgWv2sT82I25NaO9g34= apigo.cc/go/cast v1.3.3/go.mod h1:lGlwImiOvHxG7buyMWhFzcdvQzmSaoKbmr7bcDfUpHk= +apigo.cc/go/jsmod v1.0.0 h1:lVQMq0tCno4kbHlQ3j5wzsm+v24J+bznIoHxpton0pE= +apigo.cc/go/jsmod v1.0.0/go.mod h1:bmyeZtOAP/j5am+YRnaiM89smysK24K7ebk0koFtsSw= diff --git a/js_export.go b/js_export.go new file mode 100644 index 0000000..5c83269 --- /dev/null +++ b/js_export.go @@ -0,0 +1,35 @@ +package encoding + +import "apigo.cc/go/jsmod" + +func init() { + jsmod.Register("encoding", map[string]any{ + "base64": Base64, + "base64ToString": Base64ToString, + "base64Raw": Base64Raw, + "base64RawToString": Base64RawToString, + "unBase64": UnBase64, + "unBase64FromString": UnBase64FromString, + "urlBase64": UrlBase64, + "urlBase64ToString": UrlBase64ToString, + "urlBase64Raw": UrlBase64Raw, + "urlBase64RawToString": UrlBase64RawToString, + "unUrlBase64": UnUrlBase64, + "unUrlBase64FromString": UnUrlBase64FromString, + "hex": Hex, + "hexToString": HexToString, + "unHex": UnHex, + "unHexFromString": UnHexFromString, + "urlEncode": UrlEncode, + "unUrlEncode": UnUrlEncode, + "htmlEscape": HtmlEscape, + "htmlUnescape": HtmlUnescape, + "utf8Valid": Utf8Valid, + "sortJoin": SortJoin, + "encodeInt": EncodeInt, + "decodeInt": DecodeInt, + "fillInt": FillInt, + "exchangeInt": ExchangeInt, + "hashInt": HashInt, + }) +}