mirror of
https://github.com/bellard/quickjs.git
synced 2024-11-22 13:48:11 +08:00
export JS_GetModuleNamespace (github issue #34)
This commit is contained in:
parent
cd666a851f
commit
c6cc6a9a5e
12
quickjs.c
12
quickjs.c
@ -27792,13 +27792,11 @@ static int exported_names_cmp(const void *p1, const void *p2, void *opaque)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static JSValue js_get_module_ns(JSContext *ctx, JSModuleDef *m);
|
|
||||||
|
|
||||||
static JSValue js_module_ns_autoinit(JSContext *ctx, JSObject *p, JSAtom atom,
|
static JSValue js_module_ns_autoinit(JSContext *ctx, JSObject *p, JSAtom atom,
|
||||||
void *opaque)
|
void *opaque)
|
||||||
{
|
{
|
||||||
JSModuleDef *m = opaque;
|
JSModuleDef *m = opaque;
|
||||||
return js_get_module_ns(ctx, m);
|
return JS_GetModuleNamespace(ctx, m);
|
||||||
}
|
}
|
||||||
|
|
||||||
static JSValue js_build_module_ns(JSContext *ctx, JSModuleDef *m)
|
static JSValue js_build_module_ns(JSContext *ctx, JSModuleDef *m)
|
||||||
@ -27904,7 +27902,7 @@ static JSValue js_build_module_ns(JSContext *ctx, JSModuleDef *m)
|
|||||||
return JS_EXCEPTION;
|
return JS_EXCEPTION;
|
||||||
}
|
}
|
||||||
|
|
||||||
static JSValue js_get_module_ns(JSContext *ctx, JSModuleDef *m)
|
JSValue JS_GetModuleNamespace(JSContext *ctx, JSModuleDef *m)
|
||||||
{
|
{
|
||||||
if (JS_IsUndefined(m->module_ns)) {
|
if (JS_IsUndefined(m->module_ns)) {
|
||||||
JSValue val;
|
JSValue val;
|
||||||
@ -28165,7 +28163,7 @@ static int js_inner_module_linking(JSContext *ctx, JSModuleDef *m,
|
|||||||
if (mi->import_name == JS_ATOM__star_) {
|
if (mi->import_name == JS_ATOM__star_) {
|
||||||
JSValue val;
|
JSValue val;
|
||||||
/* name space import */
|
/* name space import */
|
||||||
val = js_get_module_ns(ctx, m1);
|
val = JS_GetModuleNamespace(ctx, m1);
|
||||||
if (JS_IsException(val))
|
if (JS_IsException(val))
|
||||||
goto fail;
|
goto fail;
|
||||||
set_value(ctx, &var_refs[mi->var_idx]->value, val);
|
set_value(ctx, &var_refs[mi->var_idx]->value, val);
|
||||||
@ -28189,7 +28187,7 @@ static int js_inner_module_linking(JSContext *ctx, JSModuleDef *m,
|
|||||||
JSModuleDef *m2;
|
JSModuleDef *m2;
|
||||||
/* name space import from */
|
/* name space import from */
|
||||||
m2 = res_m->req_module_entries[res_me->u.req_module_idx].module;
|
m2 = res_m->req_module_entries[res_me->u.req_module_idx].module;
|
||||||
val = js_get_module_ns(ctx, m2);
|
val = JS_GetModuleNamespace(ctx, m2);
|
||||||
if (JS_IsException(val))
|
if (JS_IsException(val))
|
||||||
goto fail;
|
goto fail;
|
||||||
var_ref = js_create_module_var(ctx, TRUE);
|
var_ref = js_create_module_var(ctx, TRUE);
|
||||||
@ -28397,7 +28395,7 @@ static JSValue js_load_module_fulfilled(JSContext *ctx, JSValueConst this_val,
|
|||||||
JSValue ret, ns;
|
JSValue ret, ns;
|
||||||
|
|
||||||
/* return the module namespace */
|
/* return the module namespace */
|
||||||
ns = js_get_module_ns(ctx, m);
|
ns = JS_GetModuleNamespace(ctx, m);
|
||||||
if (JS_IsException(ns)) {
|
if (JS_IsException(ns)) {
|
||||||
JSValue err = JS_GetException(ctx);
|
JSValue err = JS_GetException(ctx);
|
||||||
js_load_module_rejected(ctx, JS_UNDEFINED, 1, (JSValueConst *)&err, 0, func_data);
|
js_load_module_rejected(ctx, JS_UNDEFINED, 1, (JSValueConst *)&err, 0, func_data);
|
||||||
|
@ -876,6 +876,7 @@ void JS_SetModuleLoaderFunc(JSRuntime *rt,
|
|||||||
/* return the import.meta object of a module */
|
/* return the import.meta object of a module */
|
||||||
JSValue JS_GetImportMeta(JSContext *ctx, JSModuleDef *m);
|
JSValue JS_GetImportMeta(JSContext *ctx, JSModuleDef *m);
|
||||||
JSAtom JS_GetModuleName(JSContext *ctx, JSModuleDef *m);
|
JSAtom JS_GetModuleName(JSContext *ctx, JSModuleDef *m);
|
||||||
|
JSValue JS_GetModuleNamespace(JSContext *ctx, JSModuleDef *m);
|
||||||
|
|
||||||
/* JS Job support */
|
/* JS Job support */
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user