module extension: add support for canonical name resolution (#2013)
Before attempting to load a module, each provided resolver must be given an opportunity to examine the name of the requested module without actually loading it so as to canonicalize it, in case a module can be referred to by multiple names. Then, modules are loaded and cached by their canonical name. JerryScript-DCO-1.0-Signed-off-by: Gabriel Schulhof gabriel.schulhof@intel.com
This commit is contained in:
committed by
Zoltan Herczeg
parent
e527e41bac
commit
6d53931055
@@ -26,12 +26,15 @@ main (int argc, char **argv)
|
||||
(void) argv;
|
||||
jerry_char_t buffer[256];
|
||||
jerry_size_t bytes_copied;
|
||||
jerryx_module_resolver_t resolver = jerryx_module_native_resolver;
|
||||
const jerryx_module_resolver_t *resolver = &jerryx_module_native_resolver;
|
||||
jerry_value_t module_name;
|
||||
|
||||
jerry_init (JERRY_INIT_EMPTY);
|
||||
|
||||
/* Attempt to load a non-existing module. */
|
||||
jerry_value_t module = jerryx_module_resolve ((jerry_char_t *) "some-unknown-module-name", &resolver, 1);
|
||||
module_name = jerry_create_string ((jerry_char_t *) "some-unknown-module-name");
|
||||
jerry_value_t module = jerryx_module_resolve (module_name, &resolver, 1);
|
||||
jerry_release_value (module_name);
|
||||
|
||||
TEST_ASSERT (jerry_value_has_error_flag (module));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user