@ethan-jones-vizio/sveld
Version:
Generate TypeScript definitions for your Svelte components.
35 lines (34 loc) • 1.52 kB
JavaScript
;
exports.__esModule = true;
exports.convertSvelteExt = exports.removeSvelteExt = exports.createExports = void 0;
function createExports(parsed_exports, components) {
var source = Object.entries(parsed_exports).map(function (_a) {
var id = _a[0], exportee = _a[1];
var module_exports = [];
if (components.has(id)) {
module_exports = components.get(id).moduleExports.map(function (moduleExport) {
return moduleExport.name;
});
}
var named_exports = "";
if (module_exports.length > 0)
named_exports = ", " + module_exports.join(", ");
if (id === "default" || exportee["default"]) {
if (exportee.mixed) {
return "export { default as ".concat(id).concat(named_exports, " } from \"").concat(exportee.source, "\";\nexport { default } from \"").concat(exportee.source, "\";");
}
return "export { default".concat(named_exports, " } from \"").concat(exportee.source, "\";");
}
return "export { default as ".concat(id).concat(named_exports, " } from \"").concat(exportee.source, "\";");
});
return source.join("\n");
}
exports.createExports = createExports;
function removeSvelteExt(filePath) {
return filePath.replace(/\.svelte$/, "");
}
exports.removeSvelteExt = removeSvelteExt;
function convertSvelteExt(filePath) {
return filePath.replace(/\.svelte$/, ".svelte.d.ts");
}
exports.convertSvelteExt = convertSvelteExt;