insomnia/packages/insomnia-importers/index.js
slawus e987931805 Feature/swagger2 importer (#695)
* Added support for async importers

* Swagger importer v0.1 - supports import of workspace, environment and endpoints from swagger 2.0 specifications. Supports query params, headers and body. Mocks body of application/json endpoitns

* Refactor: added comments, removed function-in-function declarations

* Fixed import of yaml files. Added tests for both .json and .yaml
2018-01-16 14:02:12 +07:00

38 lines
1000 B
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/postman'),
require('./src/importers/postman-env'),
require('./src/importers/har'),
require('./src/importers/curl'),
require('./src/importers/swagger2')
];
module.exports.convert = async function (contents) {
for (const importer of importers) {
const resources = await importer.convert(contents);
if (resources) {
return {
type: {
id: importer.id,
name: importer.name,
description: importer.description
},
data: {
_type: 'export',
__export_format: 3,
__export_date: utils.getDateString(),
__export_source: 'insomnia.importers:v0.1.0',
resources: resources.map(utils.setDefaults),
}
}
}
}
throw new Error('No importers found for file');
};