forked from cory/tildefriends
js: Add a place to start moving imports to C.
This commit is contained in:
parent
60d4b06057
commit
0da7e2722f
@ -660,6 +660,7 @@ async function getProcessBlob(blobId, key, options) {
|
|||||||
);
|
);
|
||||||
return process.sendPermissions();
|
return process.sendPermissions();
|
||||||
};
|
};
|
||||||
|
ssb.registerImports(imports, process);
|
||||||
process.task.setImports(imports);
|
process.task.setImports(imports);
|
||||||
process.task.activate();
|
process.task.activate();
|
||||||
let source = await ssb.blobGet(blobId);
|
let source = await ssb.blobGet(blobId);
|
||||||
|
19
src/api.js.c
Normal file
19
src/api.js.c
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
#include "api.js.h"
|
||||||
|
|
||||||
|
#include "log.h"
|
||||||
|
|
||||||
|
#include <quickjs.h>
|
||||||
|
|
||||||
|
static JSValue _tf_api_register_imports(JSContext* context, JSValueConst this_val, int argc, JSValueConst* argv)
|
||||||
|
{
|
||||||
|
return JS_UNDEFINED;
|
||||||
|
}
|
||||||
|
|
||||||
|
void tf_api_register(JSContext* context)
|
||||||
|
{
|
||||||
|
JSValue global = JS_GetGlobalObject(context);
|
||||||
|
JSValue ssb = JS_GetPropertyStr(context, global, "ssb");
|
||||||
|
JS_SetPropertyStr(context, ssb, "registerImports", JS_NewCFunction(context, _tf_api_register_imports, "registerImports", 2));
|
||||||
|
JS_FreeValue(context, ssb);
|
||||||
|
JS_FreeValue(context, global);
|
||||||
|
}
|
18
src/api.js.h
Normal file
18
src/api.js.h
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
/**
|
||||||
|
** \defgroup api_js JS API
|
||||||
|
** Functions that are ultimately exposed to apps.
|
||||||
|
** @{
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** A JS context. */
|
||||||
|
typedef struct JSContext JSContext;
|
||||||
|
|
||||||
|
/**
|
||||||
|
** Register JS API functions.
|
||||||
|
** @param context The JS context.
|
||||||
|
*/
|
||||||
|
void tf_api_register(JSContext* context);
|
||||||
|
|
||||||
|
/** @} */
|
@ -1,5 +1,6 @@
|
|||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
|
||||||
|
#include "api.js.h"
|
||||||
#include "bcrypt.js.h"
|
#include "bcrypt.js.h"
|
||||||
#include "database.js.h"
|
#include "database.js.h"
|
||||||
#include "file.js.h"
|
#include "file.js.h"
|
||||||
@ -1697,6 +1698,7 @@ void tf_task_activate(tf_task_t* task)
|
|||||||
task->_ssb = tf_ssb_create(&task->_loop, task->_context, task->_db_path, task->_network_key);
|
task->_ssb = tf_ssb_create(&task->_loop, task->_context, task->_db_path, task->_network_key);
|
||||||
tf_ssb_set_trace(task->_ssb, task->_trace);
|
tf_ssb_set_trace(task->_ssb, task->_trace);
|
||||||
tf_ssb_register(context, task->_ssb);
|
tf_ssb_register(context, task->_ssb);
|
||||||
|
tf_api_register(context);
|
||||||
tf_ssb_set_hitch_callback(task->_ssb, _tf_task_record_hitch, task);
|
tf_ssb_set_hitch_callback(task->_ssb, _tf_task_record_hitch, task);
|
||||||
|
|
||||||
if (task->_args)
|
if (task->_args)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user