Files
napi-go/entry/binding/binding.go
Matheus Sampaio Queiroga 652638e8ee feat: Add AsyncWork and Promise support
Introduces `napi.CreateAyncWorker` for background tasks and
`napi.CreatePromise` for handling asynchronous operations via deferred
objects.

Refactors the module export registration to use `go:linkname`,
replacing the previous `entry.Register` function. Adds new examples
demonstrating these features and the updated export style.
2025-04-27 19:25:52 -03:00

26 lines
617 B
Go

// Export values to Javascript
package entry
import (
_ "unsafe"
"sirherobrine23.com.br/Sirherobrine23/napi-go"
_ "sirherobrine23.com.br/Sirherobrine23/napi-go/entry"
)
type registerCallback func(env napi.EnvType, object *napi.Object)
var modFuncInit = []registerCallback{}
//go:linkname start sirherobrine23.com.br/Sirherobrine23/napi-go/entry.Register
func start(env napi.EnvType, export *napi.Object) {
for _, registerCall := range modFuncInit {
registerCall(env, export)
}
}
// Register callback to register export values
func Register(fn registerCallback) {
modFuncInit = append(modFuncInit, fn)
}