"use strict";
|
Object.defineProperty(exports, "__esModule", { value: true });
|
var tslib_1 = require("tslib");
|
var es2017_1 = tslib_1.__importDefault(require("./es2017"));
|
var types_1 = tslib_1.__importDefault(require("../types"));
|
var shared_1 = tslib_1.__importStar(require("../shared"));
|
function default_1(fork) {
|
fork.use(es2017_1.default);
|
var types = fork.use(types_1.default);
|
var def = types.Type.def;
|
var or = types.Type.or;
|
var defaults = fork.use(shared_1.default).defaults;
|
def("ForOfStatement")
|
.field("await", Boolean, defaults["false"]);
|
// Legacy
|
def("SpreadProperty")
|
.bases("Node")
|
.build("argument")
|
.field("argument", def("Expression"));
|
def("ObjectExpression")
|
.field("properties", [or(def("Property"), def("SpreadProperty"), // Legacy
|
def("SpreadElement"))]);
|
def("TemplateElement")
|
.field("value", { "cooked": or(String, null), "raw": String });
|
// Legacy
|
def("SpreadPropertyPattern")
|
.bases("Pattern")
|
.build("argument")
|
.field("argument", def("Pattern"));
|
def("ObjectPattern")
|
.field("properties", [or(def("PropertyPattern"), def("Property"), def("RestElement"), def("SpreadPropertyPattern"))]);
|
}
|
exports.default = default_1;
|
;
|
(0, shared_1.maybeSetModuleExports)(function () { return module; });
|
//# sourceMappingURL=es2018.js.map
|