"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = validate; var _ast = require("@webassemblyjs/ast"); function duplicatedExports(name) { return "duplicate export name \"".concat(name, "\""); } function validate(ast) { var errors = []; var seenExports = {}; (0, _ast.traverse)(ast, { ModuleExport: function (_ModuleExport) { function ModuleExport(_x) { return _ModuleExport.apply(this, arguments); } ModuleExport.toString = function () { return _ModuleExport.toString(); }; return ModuleExport; }(function (path) { var name = path.node.name; if (seenExports[name] !== undefined) { return errors.push(duplicatedExports(name)); } seenExports[name] = true; }) }); return errors; }