insomnia/packages/insomnia-importers/index.js
Tomasz Dłuski 705876ace9 [Feature] Wsdl Importer with sample xml (#1675)
* new(importer): wsdl first version (without body)

* add(tests): wsdl importer - adds simple test

fixes addition test

adds comments + place to generate body

* working converter

* adds apiconnect-wsdl npm package

* resets package.json dependencies

* adds lodash and apiconnect-wsdl into importers project
2019-12-11 12:02:08 -05:00

46 lines
1.2 KiB
JavaScript
Executable File

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'),
];
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),
},
};
return parsedData;
}
}
throw new Error('No importers found for file');
};