@aws-amplify/graphql-types-generator
Version:
Generate API code or type annotations based on a GraphQL schema and statements
33 lines • 1.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOutputFileName = void 0;
const path = require("path");
function getOutputFileName(inputFileName, target) {
var _a;
inputFileName = inputFileName || (target === 'angular' ? 'api' : 'API');
if (supportedTarget(target)) {
const fileExtension = extensionMap[target];
const ext = path.extname(inputFileName);
const baseName = inputFileName.substr(0, inputFileName.length - ext.length);
const filename = inputFileName.includes(fileExtension) ? inputFileName : `${baseName}.${fileExtension}`;
return ['API', 'api'].includes(inputFileName) ? path.join(folderMap[target], filename).split(((_a = path.win32) === null || _a === void 0 ? void 0 : _a.sep) || '\\').join(path.posix.sep) : filename;
}
return inputFileName;
}
exports.getOutputFileName = getOutputFileName;
const extensionMap = {
typescript: 'ts',
flow: 'js',
angular: 'service.ts',
swift: 'swift',
};
const folderMap = {
typescript: 'src',
flow: 'src',
angular: 'src/app',
swift: '',
};
function supportedTarget(target) {
return Object.keys(extensionMap).includes(target);
}
//# sourceMappingURL=getOutputFileName.js.map