napi-bindings / go-napi-sys Goto Github PK
View Code? Open in Web Editor NEWGo low level bindings for writing safe and fast native Node.js modules.
Home Page: http://www.nacios.it
License: Apache License 2.0
Go low level bindings for writing safe and fast native Node.js modules.
Home Page: http://www.nacios.it
License: Apache License 2.0
The Go backend compiler needs the N-API stub to compile the add-on otherwise it arise a linker error. In this case on the folder napi-stub there is a stub used in experimentation phase, but now the stub needs to be generated in a dynamic way.
The following are the necessary tasks:
Find what is the best options for the input parameters.
Add NapiUnwrap function.
Add NapiCreateAsyncWork function.
Add NapiAddEnvCleanupHook function study how to handle the hook function.
Add NapiGetCbInfo function.
Add NapiCreateExternalBuffer function.
Find what is the best option for the input parameters for this function.
Add NapiCreateExternal function.
Find what is the best option for the input parameters for this function.
Find what is the best option for the input parameters for this function.
Find a simple method to enable or disable experimental features on building N-API stub. On the binding side check if the feature is enabled because it's included int he N-API version or if tis enabled like experimental.
Find what is the best option for the input parameters for this function.
Add NapiCreateFunction function.
Add NapiGetTypedArrayInfo function.
Add NapiRemoveCleaupHook function study how to handle the hook function.
Add NapiDefineProperties function.
Add NapiNewInstance function.
Find what is the best option for the input parameters for this function.
Add NapiCreateExternalArrayBuffer function.
Add NapiGetPrototype function.
Add NapiCreateArrayBuffer function.
Add NapiGetArrayBufferInfo function.
Decide what we need to accept in input to NapiDefineProperty
function
Add NapiGetDataviewInfo function.
Add NapiCreateObject function.
Add NapiCreateSymbol function.
Find what is the best option for the input parameters for this function.
Add NapiCreateTypedArray function.
Add NapiCreateBuffer function.
Add NapiDefineClass function.
Add NapiGetValueExternal function.
Create the first low level wrapper starting from the work done in the experimentation phase.
I report the conditions from which start coding:
Add NapiRemoveWrap function.
Developers could meet some problems it depends on GOPATH. In general go-napi-sys does not depend from any other library except the STL so it could be a good idea change the GOPATH to point to the folder of the project.
Unix export GOPATH=$(pwd)
Windows setx GOPATH %cd%\go
Add NapiGetArrayLength function.
Find what is the best option for the input parameters for this function.
Add NapiGetTypedArrayInfo function.
Add NapiCreateDataview function.
Add NapiDeleteAsyncWork function.
Add NapiCreateBigintWords function.
Handle the conversion from Go string to C UTF16-LE-encoded C string
Add examples that could be useful to other developers to illustrate the available features. A good start could be the repo that host the examples for Node.js native add-on.
Add NapiCallFunction function.
Go does not have the enum
type so we need to take a decision about how to handle this data type in the go-napi-sys
.
Add NapiWrap function.
Add NapiGetValueBigintWords function.
Find what is the best option for the input parameters for this function.
Add all the tests that are executed in the Node.js core in this case the native will be written using Go:
Add NapiCreateBufferCopy function.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.