insomnia/packages/insomnia-importers/index.js

46 lines
1.2 KiB
JavaScript
Raw Normal View History

const utils = require('./src/utils');
const importers = [
require('./src/importers/insomnia-1'),
require('./src/importers/insomnia-2'),
require('./src/importers/insomnia-3'),
require('./src/importers/insomnia-4'),
require('./src/importers/postman'),
require('./src/importers/postman-env'),
require('./src/importers/har'),
require('./src/importers/curl'),
require('./src/importers/swagger2'),
require('./src/importers/openapi3'),
require('./src/importers/wsdl'),
];
2018-06-25 17:42:50 +00:00
module.exports.convert = async function(contents) {
for (const importer of importers) {
const resources = await importer.convert(contents);
if (resources) {
if (resources.length > 0 && resources[0].variable) {
resources[0].environment = resources[0].variable;
}
let parsedData = {
type: {
id: importer.id,
name: importer.name,
description: importer.description,
},
data: {
_type: 'export',
__export_format: 4,
__export_date: utils.getDateString(),
__export_source: 'insomnia.importers:v0.1.0',
resources: resources.map(utils.setDefaults),
},
2018-06-25 17:42:50 +00:00
};
return parsedData;
}
}
throw new Error('No importers found for file');
};