Compare commits

...

3 Commits
v1.3.2 ... main

Author SHA1 Message Date
AI Engineer
14205a949d refactor: use *string instead of variadic for optional param in JS Make (by AI) 2026-06-08 23:01:44 +08:00
AI Engineer
aa2229d6b3 feat: simplify JS exports to a single Make method (by AI) 2026-06-08 22:20:48 +08:00
AI Engineer
8ebb3113a7 对齐 Tag v1.5.0 (By AI) 2026-06-03 20:10:17 +08:00
4 changed files with 35 additions and 18 deletions

View File

@ -1,5 +1,8 @@
# Changelog: @go/id # Changelog: @go/id
## v1.5.1 (2026-06-08)
- **JS 极简 API**: 彻底废除 JS 侧冗长难记的 `get8Bytes...` 等方法,统一收敛为极简的 `Make(size int, forDB ...string)`。充分利用了底层 JS Bridge 的零值回退特性,在不填第二个参数时也能安全优雅地工作。
## [v1.3.2] - 2026-05-30 ## [v1.3.2] - 2026-05-30
### Added ### Added

8
go.mod
View File

@ -3,9 +3,9 @@ module apigo.cc/go/id
go 1.25.0 go 1.25.0
require ( require (
apigo.cc/go/encoding v1.3.1 apigo.cc/go/encoding v1.5.0
apigo.cc/go/jsmod v1.0.0 apigo.cc/go/jsmod v1.5.0
apigo.cc/go/rand v1.3.1 apigo.cc/go/rand v1.5.0
) )
require apigo.cc/go/cast v1.3.3 // indirect require apigo.cc/go/cast v1.5.0 // indirect

16
go.sum
View File

@ -1,8 +1,8 @@
apigo.cc/go/cast v1.3.3 h1:aln5eDR5DZVWVzZ/y5SJh1gQNgWv2sT82I25NaO9g34= apigo.cc/go/cast v1.5.0 h1:UBGJtFQ8eJPMQXs37cUgqd7YQo1zI9opuSDBDmn2/pE=
apigo.cc/go/cast v1.3.3/go.mod h1:lGlwImiOvHxG7buyMWhFzcdvQzmSaoKbmr7bcDfUpHk= apigo.cc/go/cast v1.5.0/go.mod h1:z2GW5p5WCZGEqVVIJUdhl232vRbLf2Qu4EDlEakX/D8=
apigo.cc/go/encoding v1.3.1 h1:y8O58KYAyulkThg1O2ji2BqjnFoSvk42sit9I3z+K7Y= apigo.cc/go/encoding v1.5.0 h1:EJNdRVDOMoI2DAvZwQNQTbYuqB/6zsEzvg7lS5pQI+I=
apigo.cc/go/encoding v1.3.1/go.mod h1:xAJk5b83VZ31mXMTnyp0dfMoBKfT/AHDn0u+cQfojgY= apigo.cc/go/encoding v1.5.0/go.mod h1:8++NfZj3hWig0qh2g7GQRw/4LpSvCYMWUZ+8J+x58cA=
apigo.cc/go/jsmod v1.0.0 h1:lVQMq0tCno4kbHlQ3j5wzsm+v24J+bznIoHxpton0pE= apigo.cc/go/jsmod v1.5.0 h1:JgQtJNiJWy1NOP9AzE8NX5VXJkpO/x3GqLsCCSny5Ec=
apigo.cc/go/jsmod v1.0.0/go.mod h1:bmyeZtOAP/j5am+YRnaiM89smysK24K7ebk0koFtsSw= apigo.cc/go/jsmod v1.5.0/go.mod h1:bmyeZtOAP/j5am+YRnaiM89smysK24K7ebk0koFtsSw=
apigo.cc/go/rand v1.3.1 h1:7FvsI6PtQ5XrWER0dTiLVo0p7GIxRidT/TBKhVy93j8= apigo.cc/go/rand v1.5.0 h1:1o8hh8fhdBuk1/h02IvugvamuT3dkWbVJrqEJVQKB2E=
apigo.cc/go/rand v1.3.1/go.mod h1:mZ/4Soa3bk+XvDaqPWJuUe1bfEi4eThBj1XmEAuYxsk= apigo.cc/go/rand v1.5.0/go.mod h1:Lh98S2dm9UY0X+M+kNQQEKyXHG5pcCKSFPyXN0QCGdk=

View File

@ -1,13 +1,27 @@
package id package id
import "apigo.cc/go/jsmod" import (
"strings"
"apigo.cc/go/jsmod"
)
func init() { func init() {
jsmod.Register("id", map[string]any{ jsmod.Register("id", map[string]any{
"get8Bytes4KPerSecond": Get8Bytes4KPerSecond, "Make": func(size int, forDB *string) string {
"get9Bytes90KPerSecond": Get9Bytes90KPerSecond, dbType := ""
"get10Bytes14MPerSecond": Get10Bytes14MPerSecond, if forDB != nil {
"get11Bytes900MPerSecond": Get11Bytes900MPerSecond, dbType = strings.ToLower(*forDB)
"get12BytesUltraPerSecond": Get12BytesUltraPerSecond, }
switch dbType {
case "mysql":
return DefaultIDMaker.GetForMysql(size)
case "postgres", "pg", "pgsql":
return DefaultIDMaker.GetForPostgreSQL(size)
default:
return DefaultIDMaker.Get(size)
}
},
}) })
} }