NodeFFI se puede usar para extraer archivos C (específicamente un .so) y leer el código de ellos. Sobre eso tenía 2 preguntas. Si defino un tipo en rust, ¿aparecerá como un tipo en javascript? Además, ¿hay alguna forma de usar funciones sin establecer valores de parámetros (sin la 'function': [ 'int', [ 'int', 'int' ] ] ? Si no, ¿cómo "declararía" un tipo del archivo .so? ?
Si defino un tipo en rust, ¿aparecerá como un tipo en javascript?
No. Por un lado, el sistema de tipos en JavaScript es muy diferente al de Rust. Por otro lado, un archivo .so no puede exportar ningún tipo en absoluto. Se espera que la persona que llama conozca el diseño de la memoria de los tipos. En C, se declararía en un archivo de encabezado ( .h ) que se proporciona junto con el archivo .so .
Además, ¿hay alguna forma de usar funciones sin establecer valores de parámetros (sin la 'función': ['int', ['int', 'int']]? Si no, ¿cómo "declararía" un tipo del archivo .so? ?
Como se explicó anteriormente: no lo hace.
Pero puede usar la caja node-bindgen para generar el código contenedor de Node.js para invocar el código Rust de Node.js con relativa facilidad. Esto no hace lo que pediste, pero probablemente haga lo que necesitas;)