[feat] add shared lib build script

This commit is contained in:
Anton Nesterov 2024-08-29 22:39:27 +02:00
parent 9572a7e549
commit 849dbff420
No known key found for this signature in database
GPG key ID: 59121E8AE2851FB5
4 changed files with 6 additions and 7 deletions

View file

@ -23,11 +23,11 @@ static Napi::Object RowIterator(const Napi::CallbackInfo& args) {
free(next); free(next);
return val; return val;
}; };
auto free_iter = [=](const Napi::CallbackInfo& a){ auto cleanup = [=](const Napi::CallbackInfo& a){
FreeIter(iter); FreeIter(iter);
}; };
it.Set("next", Napi::Function::New(env, next_row)); it.Set("next", Napi::Function::New(env, next_row));
it.Set("free", Napi::Function::New(env, free_iter)); it.Set("cleanup", Napi::Function::New(env, cleanup));
return it; return it;
} }

View file

@ -2,7 +2,7 @@ import { createRequire } from "node:module";
const require = createRequire(import.meta.url); const require = createRequire(import.meta.url);
type RowIterator = { type RowIterator = {
next: () => Buffer; next: () => Buffer;
free: () => void; cleanup: () => void;
}; };
type SQLite = { type SQLite = {
initSQLite: (pragmas: Buffer) => void; initSQLite: (pragmas: Buffer) => void;

View file

@ -35,9 +35,8 @@ const {
}, },
}); });
function initSQLite(pragmas: string) { function initSQLite(pragmas: Buffer) {
const buf = Buffer.from(pragmas); InitSQLite(ptr(pragmas));
InitSQLite(ptr(buf));
} }
function rowIterator(buf: Buffer) { function rowIterator(buf: Buffer) {

View file

@ -27,7 +27,7 @@ export default class CBuilder<
const response = iter.next(); const response = iter.next();
const rows = decodeRows(response); const rows = decodeRows(response);
if (rows.length === 0) { if (rows.length === 0) {
iter.free(); iter.cleanup();
break; break;
} }
for (const row of rows) { for (const row of rows) {