first commit
This commit is contained in:
31
node_modules/acorn-export-ns-from/index.js
generated
vendored
Normal file
31
node_modules/acorn-export-ns-from/index.js
generated
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
"use strict"
|
||||
|
||||
const skipWhiteSpace = /(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g
|
||||
|
||||
const tt = require("acorn").tokTypes
|
||||
|
||||
module.exports = function(Parser) {
|
||||
return class extends Parser {
|
||||
parseExport(node, exports) {
|
||||
skipWhiteSpace.lastIndex = this.pos
|
||||
const skip = skipWhiteSpace.exec(this.input)
|
||||
const next = this.input.charAt(this.pos + skip[0].length)
|
||||
if (next !== "*") return super.parseExport(node, exports)
|
||||
|
||||
this.next()
|
||||
const specifier = this.startNode()
|
||||
this.expect(tt.star)
|
||||
if (this.eatContextual("as")) {
|
||||
node.declaration = null
|
||||
specifier.exported = this.parseIdent(true)
|
||||
this.checkExport(exports, specifier.exported.name, this.lastTokStart)
|
||||
node.specifiers = [this.finishNode(specifier, "ExportNamespaceSpecifier")]
|
||||
}
|
||||
this.expectContextual("from")
|
||||
if (this.type !== tt.string) this.unexpected()
|
||||
node.source = this.parseExprAtom()
|
||||
this.semicolon()
|
||||
return this.finishNode(node, node.specifiers ? "ExportNamedDeclaration" : "ExportAllDeclaration")
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user