Source File
wrap.go
Belonging Package
github.com/ncruces/go-sqlite3/internal/sqlite3_wrap
package sqlite3_wrapimport (sqlite3_wasm)type Wrapper struct {*sqlite3_wasm.Module*MemoryDB anySysError errormmapStatehandles []anydeleted int}func ( *Wrapper) () ( error) {for , := range .handles {if , := .(io.Closer); {if := .Close(); == nil {=}}}if := .Memory.Close(); != nil {=}* = Wrapper{}return}func ( *Wrapper) ( Ptr_t) any {if == 0 {return nil}return .handles[^]}func ( *Wrapper) ( Ptr_t) error {if == 0 {return nil}:= .handles[^].handles[^] = nilif := Ptr_t(len(.handles)); == ^ {.handles = .handles[:-1]} else {.deleted++}if , := .(io.Closer); {return .Close()}return nil}func ( *Wrapper) ( any) Ptr_t {if == nil {panic(errutil.NilErr)}// Find an empty slot.if .deleted > cap(.handles)-len(.handles) {for , := range .handles {if == nil {.deleted--.handles[] =return ^Ptr_t()}}}// Add a new slot..handles = append(.handles, )return -Ptr_t(len(.handles))}
![]() |
The pages are generated with Golds v0.8.4. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |