Another variant of import added - import * from "x.js"
This commit is contained in:
parent
5dea52266b
commit
c5bf0f0075
|
|
@ -1233,6 +1233,9 @@ function OutputStream(options) {
|
|||
output.space();
|
||||
}
|
||||
if (self.imported_names) {
|
||||
if (self.imported_names.length === 1 && self.imported_names[0].name.name === "*") {
|
||||
self.imported_names[0].print(output);
|
||||
} else {
|
||||
output.print("{");
|
||||
self.imported_names.forEach(function (name_import, i) {
|
||||
output.space();
|
||||
|
|
@ -1245,6 +1248,7 @@ function OutputStream(options) {
|
|||
output.space();
|
||||
output.print("}");
|
||||
}
|
||||
}
|
||||
if (self.imported_name || self.imported_names) {
|
||||
output.space();
|
||||
output.print("from")
|
||||
|
|
|
|||
45
lib/parse.js
45
lib/parse.js
|
|
@ -2176,17 +2176,7 @@ function parse($TEXT, options) {
|
|||
next();
|
||||
}
|
||||
|
||||
if (is("punc", "{")) {
|
||||
next();
|
||||
imported_names = [];
|
||||
while (!is("punc", "}")) {
|
||||
imported_names.push(import_name());
|
||||
if (is("punc", ",")) {
|
||||
next();
|
||||
}
|
||||
}
|
||||
next();
|
||||
}
|
||||
imported_names = import_names();
|
||||
|
||||
if (imported_names || imported_name) {
|
||||
expect_token("name", "from");
|
||||
|
|
@ -2266,6 +2256,24 @@ function parse($TEXT, options) {
|
|||
})
|
||||
}
|
||||
|
||||
function import_names() {
|
||||
var names;
|
||||
if (is("punc", "{")) {
|
||||
next();
|
||||
names = [];
|
||||
while (!is("punc", "}")) {
|
||||
names.push(import_name());
|
||||
if (is("punc", ",")) {
|
||||
next();
|
||||
}
|
||||
}
|
||||
next();
|
||||
} else if (is("operator", "*")) {
|
||||
var st = prev();
|
||||
names = [import_nameAsterisk()];
|
||||
}
|
||||
return names;
|
||||
}
|
||||
function export_() {
|
||||
var start = S.token;
|
||||
var is_default;
|
||||
|
|
@ -2278,20 +2286,7 @@ function parse($TEXT, options) {
|
|||
next();
|
||||
}
|
||||
|
||||
if (is("punc", "{")) {
|
||||
next();
|
||||
exported_names = [];
|
||||
while (!is("punc", "}")) {
|
||||
exported_names.push(import_name());
|
||||
if (is("punc", ",")) {
|
||||
next();
|
||||
}
|
||||
}
|
||||
next();
|
||||
} else if (is("operator", "*")) {
|
||||
var st = prev();
|
||||
exported_names = [import_nameAsterisk()];
|
||||
}
|
||||
exported_names = import_names();
|
||||
|
||||
if (exported_names) {
|
||||
expect_token("name", "from");
|
||||
|
|
|
|||
|
|
@ -183,8 +183,9 @@ import_statement: {
|
|||
import { Bar, Baz } from 'lel';
|
||||
import Bar, { Foo } from 'lel';
|
||||
import { Bar as kex, Baz as food } from 'lel';
|
||||
import * from 'lel';
|
||||
}
|
||||
expect_exact: "import\"mod-name\";import Foo from\"bar\";import{Bar,Baz}from\"lel\";import Bar,{Foo}from\"lel\";import{Bar as kex,Baz as food}from\"lel\";"
|
||||
expect_exact: "import\"mod-name\";import Foo from\"bar\";import{Bar,Baz}from\"lel\";import Bar,{Foo}from\"lel\";import{Bar as kex,Baz as food}from\"lel\";import*from\"lel\";"
|
||||
}
|
||||
|
||||
export_statement: {
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user