From 65ff50bc0485ec66bb7187eddfcb306897c3089e Mon Sep 17 00:00:00 2001 From: Cody Averett Date: Mon, 13 Nov 2017 05:44:10 -0600 Subject: [PATCH] Added check for cyclic reference issue I was thinking this should resolve #2 This helped me find issues in my schema at least. --- src/swaggerbank.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/swaggerbank.js b/src/swaggerbank.js index fd6b01f..2b713d1 100644 --- a/src/swaggerbank.js +++ b/src/swaggerbank.js @@ -236,6 +236,13 @@ class API { console.error('Your object schema is undefined. This most likely means you are referencing an object that doesn\'t have a definition'); process.exit(-1); } + + // Does object schema reference itself? + if (objectName === refName) { + console.error(`Your object ${objectName} has an internal \$ref to itself (${refName})`); + process.exit(-1); + } + // Construct our template recursively for the object that is defined at the $ref tag location const objectTemplate = this.constructTemplateForRef(objectSchema, objectName); refTemplate[property] = { 'type': 'object', 'format': objectTemplate };