Add input validation for Multifile APIs

Add input validation for Multifile APIs
This commit is contained in:
Luis Tejeda
2022-06-03 12:54:10 -05:00
parent c82d50ed8d
commit b7e2597cc1
5 changed files with 166 additions and 10 deletions

View File

@@ -629,14 +629,11 @@ class SchemaPack {
*/
async detectRootFiles() {
const input = this.input;
if (input.data[0].path === '') {
throw new Error('undefined input');
}
schemaUtils.validateInputMultiFileAPI(input);
if (!this.hasDefinedVersion && ('content' in input.data[0])) {
return schemaUtils.mapGetRootFilesOutputToDetectRootFilesOutput([], input.specificationVersion);
}
let files = {},
rootFiles,
res,
@@ -668,6 +665,8 @@ class SchemaPack {
*/
async detectRelatedFiles() {
const input = this.input;
schemaUtils.validateInputMultiFileAPI(input);
if (!input.rootFiles || input.rootFiles.length === 0) {
let rootFiles = await this.detectRootFiles(input);
if (rootFiles.output.data) {
@@ -698,6 +697,8 @@ class SchemaPack {
*/
async bundle() {
const input = this.input;
schemaUtils.validateInputMultiFileAPI(input);
if (!input.rootFiles || input.rootFiles.length === 0) {
let rootFiles = await this.detectRootFiles(input);
if (rootFiles.output.data) {