jswagger-generator
Version:
This is jswagger's generator package.
46 lines (42 loc) • 1.53 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const prettier = require("prettier");
const definition_interface_generator_1 = require("./definition-interface-generator");
const api_interface_generator_1 = require("./api-interface-generator");
exports.WARNING_MESSAGE = `/**
* This file was auto-generated by jswagger-swagger.
* Do not make direct changes to the file.
*/
`;
const OUTPUT_HEADER = `import {
ApiRequestOptionsRX, ApiRequestOptionsRO, ApiRequestOptionsRR,
ApiRequestOptionsOX, ApiRequestOptionsOO, ApiRequestOptionsOR,
ApiRequestOptionsXX, ApiRequestOptionsXO, ApiRequestOptionsXR,
ApiResponse,
IApiSecurityContext,
internal
} from 'jswagger-client';
const toClassValue = internal.toClassValue;
const toJsonObject = internal.toJsonObject;
`;
function index(spec, options) {
const output = [
exports.WARNING_MESSAGE,
OUTPUT_HEADER
];
output.push(definition_interface_generator_1.makeDefinitions(spec, options));
output.push(api_interface_generator_1.makeApiInterfaces(spec, options));
// Prettify output
let prettierOptions = {
parser: 'typescript',
singleQuote: true,
jsxSingleQuote: true,
semi: true,
tabWidth: 2
};
if (options && options.prettierConfig) {
prettierOptions = Object.assign(Object.assign({}, prettierOptions), options.prettierConfig);
}
return prettier.format(output.join('\n'), prettierOptions);
}
exports.default = index;