Previously, only object literals were allowed.
return token;
}
- if (parser->node->token != NJS_TOKEN_OBJECT) {
- njs_parser_syntax_error(vm, parser, "Illegal export value");
- return NXT_ERROR;
- }
-
node->right = parser->node;
parser->node = node;
--- /dev/null
+function gen_export() {
+ var _export = {};
+
+ _export.sum = function(a, b) { return a + b; }
+ _export.prod = function(a, b) { return a * b; }
+
+ return _export;
+}
+
+export default gen_export();
--- /dev/null
+var _export = {};
+
+export default (_export.sum = function(a, b) { return a + b; },
+ _export.prod = function(a, b) { return a * b; },
+ _export);
--- /dev/null
+var _export = {};
+
+_export.sum = function(a, b) { return a + b; }
+_export.prod = function(a, b) { return a * b; }
+
+export default _export;
"Error: loading exception\r\n at module \\(loading_exception.js:1\\)"}
{"import lib3 from 'lib1.js'\r\n"
"undefined\r\n"}
+ {"import m from 'export_name.js'\r\n"
+ "undefined\r\n"}
+ {"m.prod(3,4)\r\n"
+ "12\r\n"}
+ {"import m from 'export_expression.js'\r\n"
+ "undefined\r\n"}
+ {"m.sum(3,4)\r\n"
+ "7\r\n"}
+ {"import m from 'export_expression2.js'\r\n"
+ "undefined\r\n"}
+ {"m.prod(3,4)\r\n"
+ "12\r\n"}
} "-p njs/test/module/"
njs_run "-p njs/test/module/libs/ -d ./njs/test/module/normal.js" \