@aws-amplify/appsync-modelgen-plugin
Version:
727 lines • 152 kB
JavaScript
"use strict";
module.exports = validate10;
module.exports.default = validate10;
const schema11 = { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "version": { "type": "number", "const": 1 }, "models": { "$ref": "#/definitions/SchemaModels" }, "nonModels": { "$ref": "#/definitions/SchemaNonModels" }, "enums": { "$ref": "#/definitions/SchemaEnums" }, "queries": { "$ref": "#/definitions/SchemaQueries" }, "mutations": { "$ref": "#/definitions/SchemaMutations" }, "subscriptions": { "$ref": "#/definitions/SchemaSubscriptions" }, "inputs": { "$ref": "#/definitions/SchemaInputs" }, "generations": { "$ref": "#/definitions/SchemaGenerations" }, "conversations": { "$ref": "#/definitions/SchemaConversationRoutes" } }, "required": ["version", "models", "nonModels", "enums"], "additionalProperties": false, "description": "Root Schema Representation", "definitions": { "SchemaModels": { "$ref": "#/definitions/Record%3Cstring%2CSchemaModel%3E", "description": "Top-level Entities on a Schema" }, "Record<string,SchemaModel>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/SchemaModel" } }, "SchemaModel": { "type": "object", "properties": { "name": { "type": "string" }, "attributes": { "type": "array", "items": { "$ref": "#/definitions/ModelAttribute" } }, "fields": { "$ref": "#/definitions/Fields" }, "pluralName": { "type": "string" }, "syncable": { "type": "boolean" }, "primaryKeyInfo": { "$ref": "#/definitions/PrimaryKeyInfo" } }, "required": ["name", "fields", "pluralName", "primaryKeyInfo"], "additionalProperties": false }, "ModelAttribute": { "type": "object", "properties": { "type": { "type": "string" }, "properties": { "type": "object" } }, "required": ["type"], "additionalProperties": false }, "Fields": { "$ref": "#/definitions/Record%3Cstring%2CField%3E", "description": "Field Definition" }, "Record<string,Field>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/Field" } }, "Field": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "$ref": "#/definitions/FieldType" }, "isArray": { "type": "boolean" }, "isRequired": { "type": "boolean" }, "isReadOnly": { "type": "boolean" }, "isArrayNullable": { "type": "boolean" }, "attributes": { "type": "array", "items": { "$ref": "#/definitions/FieldAttribute" } }, "association": { "$ref": "#/definitions/AssociationType" }, "arguments": { "$ref": "#/definitions/Arguments" } }, "required": ["name", "type", "isArray", "isRequired"], "additionalProperties": false }, "FieldType": { "anyOf": [{ "$ref": "#/definitions/ScalarType" }, { "type": "object", "properties": { "enum": { "type": "string" } }, "required": ["enum"], "additionalProperties": false }, { "type": "object", "properties": { "model": { "type": "string" } }, "required": ["model"], "additionalProperties": false }, { "type": "object", "properties": { "nonModel": { "type": "string" } }, "required": ["nonModel"], "additionalProperties": false }] }, "ScalarType": { "type": "string", "enum": ["ID", "String", "Int", "Float", "AWSDate", "AWSTime", "AWSDateTime", "AWSTimestamp", "AWSEmail", "AWSURL", "AWSIPAddress", "Boolean", "AWSJSON", "AWSPhone"] }, "FieldAttribute": { "$ref": "#/definitions/ModelAttribute" }, "AssociationType": { "anyOf": [{ "$ref": "#/definitions/AssociationHasMany" }, { "$ref": "#/definitions/AssociationHasOne" }, { "$ref": "#/definitions/AssociationBelongsTo" }] }, "AssociationHasMany": { "type": "object", "additionalProperties": false, "properties": { "connectionType": { "$ref": "#/definitions/CodeGenConnectionType" }, "associatedWith": { "type": "array", "items": { "type": "string" } } }, "required": ["associatedWith", "connectionType"] }, "CodeGenConnectionType": { "type": "string", "enum": ["HAS_ONE", "BELONGS_TO", "HAS_MANY"], "description": "Field-level Relationship Definitions" }, "AssociationHasOne": { "type": "object", "additionalProperties": false, "properties": { "connectionType": { "$ref": "#/definitions/CodeGenConnectionType" }, "associatedWith": { "type": "array", "items": { "type": "string" } }, "targetNames": { "type": "array", "items": { "type": "string" } } }, "required": ["associatedWith", "connectionType", "targetNames"] }, "AssociationBelongsTo": { "type": "object", "additionalProperties": false, "properties": { "connectionType": { "$ref": "#/definitions/CodeGenConnectionType" }, "targetNames": { "type": "array", "items": { "type": "string" } } }, "required": ["connectionType", "targetNames"] }, "Arguments": { "$ref": "#/definitions/Record%3Cstring%2CArgument%3E" }, "Record<string,Argument>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/Argument" } }, "Argument": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "$ref": "#/definitions/InputFieldType" }, "isArray": { "type": "boolean" }, "isRequired": { "type": "boolean" }, "isArrayNullable": { "type": "boolean" } }, "required": ["name", "type", "isArray", "isRequired"], "additionalProperties": false }, "InputFieldType": { "anyOf": [{ "$ref": "#/definitions/ScalarType" }, { "type": "object", "properties": { "enum": { "type": "string" } }, "required": ["enum"], "additionalProperties": false }, { "type": "object", "properties": { "input": { "type": "string" } }, "required": ["input"], "additionalProperties": false }] }, "PrimaryKeyInfo": { "type": "object", "properties": { "isCustomPrimaryKey": { "type": "boolean" }, "primaryKeyFieldName": { "type": "string" }, "sortKeyFieldNames": { "type": "array", "items": { "type": "string" } } }, "required": ["isCustomPrimaryKey", "primaryKeyFieldName", "sortKeyFieldNames"], "additionalProperties": false }, "SchemaNonModels": { "$ref": "#/definitions/Record%3Cstring%2CSchemaNonModel%3E" }, "Record<string,SchemaNonModel>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/SchemaNonModel" } }, "SchemaNonModel": { "type": "object", "properties": { "name": { "type": "string" }, "fields": { "$ref": "#/definitions/Fields" } }, "required": ["name", "fields"], "additionalProperties": false }, "SchemaEnums": { "$ref": "#/definitions/Record%3Cstring%2CSchemaEnum%3E" }, "Record<string,SchemaEnum>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/SchemaEnum" } }, "SchemaEnum": { "type": "object", "properties": { "name": { "type": "string" }, "values": { "type": "array", "items": { "type": "string" } } }, "required": ["name", "values"], "additionalProperties": false }, "SchemaQueries": { "$ref": "#/definitions/Record%3Cstring%2CSchemaQuery%3E" }, "Record<string,SchemaQuery>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/SchemaQuery" } }, "SchemaQuery": { "$ref": "#/definitions/Pick%3CField%2C(%22name%22%7C%22type%22%7C%22isArray%22%7C%22isRequired%22%7C%22isArrayNullable%22%7C%22arguments%22)%3E" }, "Pick<Field,(\"name\"|\"type\"|\"isArray\"|\"isRequired\"|\"isArrayNullable\"|\"arguments\")>": { "type": "object", "properties": { "name": { "type": "string" }, "type": { "$ref": "#/definitions/FieldType" }, "isArray": { "type": "boolean" }, "isRequired": { "type": "boolean" }, "isArrayNullable": { "type": "boolean" }, "arguments": { "$ref": "#/definitions/Arguments" } }, "required": ["name", "type", "isArray", "isRequired"], "additionalProperties": false }, "SchemaMutations": { "$ref": "#/definitions/Record%3Cstring%2CSchemaMutation%3E" }, "Record<string,SchemaMutation>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/SchemaMutation" } }, "SchemaMutation": { "$ref": "#/definitions/SchemaQuery" }, "SchemaSubscriptions": { "$ref": "#/definitions/Record%3Cstring%2CSchemaSubscription%3E" }, "Record<string,SchemaSubscription>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/SchemaSubscription" } }, "SchemaSubscription": { "$ref": "#/definitions/SchemaQuery" }, "SchemaInputs": { "$ref": "#/definitions/Record%3Cstring%2CInput%3E" }, "Record<string,Input>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/Input" } }, "Input": { "type": "object", "properties": { "name": { "type": "string" }, "attributes": { "$ref": "#/definitions/Arguments" } }, "required": ["name", "attributes"], "additionalProperties": false, "description": "Input Definition" }, "SchemaGenerations": { "$ref": "#/definitions/SchemaQueries" }, "SchemaConversationRoutes": { "$ref": "#/definitions/Record%3Cstring%2CSchemaConversationRoute%3E" }, "Record<string,SchemaConversationRoute>": { "type": "object", "additionalProperties": { "$ref": "#/definitions/SchemaConversationRoute" } }, "SchemaConversationRoute": { "type": "object", "properties": { "name": { "type": "string" }, "models": { "$ref": "#/definitions/SchemaModels" }, "nonModels": { "$ref": "#/definitions/SchemaNonModels" }, "enums": { "$ref": "#/definitions/SchemaEnums" }, "conversation": { "$ref": "#/definitions/SchemaConversation" }, "message": { "$ref": "#/definitions/SchemaConversationMessage" } }, "required": ["name", "models", "nonModels", "enums", "conversation", "message"], "additionalProperties": false }, "SchemaConversation": { "type": "object", "properties": { "modelName": { "type": "string" } }, "required": ["modelName"], "additionalProperties": false }, "SchemaConversationMessage": { "type": "object", "properties": { "modelName": { "type": "string" }, "subscribe": { "$ref": "#/definitions/SchemaSubscription" }, "send": { "$ref": "#/definitions/SchemaMutation" } }, "required": ["modelName", "subscribe", "send"], "additionalProperties": false } } };
const func2 = Object.prototype.hasOwnProperty;
const schema12 = { "type": "object", "additionalProperties": { "$ref": "#/definitions/SchemaModel" } };
const schema13 = { "type": "object", "properties": { "name": { "type": "string" }, "attributes": { "type": "array", "items": { "$ref": "#/definitions/ModelAttribute" } }, "fields": { "$ref": "#/definitions/Fields" }, "pluralName": { "type": "string" }, "syncable": { "type": "boolean" }, "primaryKeyInfo": { "$ref": "#/definitions/PrimaryKeyInfo" } }, "required": ["name", "fields", "pluralName", "primaryKeyInfo"], "additionalProperties": false };
const schema14 = { "type": "object", "properties": { "type": { "type": "string" }, "properties": { "type": "object" } }, "required": ["type"], "additionalProperties": false };
const schema31 = { "type": "object", "properties": { "isCustomPrimaryKey": { "type": "boolean" }, "primaryKeyFieldName": { "type": "string" }, "sortKeyFieldNames": { "type": "array", "items": { "type": "string" } } }, "required": ["isCustomPrimaryKey", "primaryKeyFieldName", "sortKeyFieldNames"], "additionalProperties": false };
const schema15 = { "type": "object", "additionalProperties": { "$ref": "#/definitions/Field" } };
const schema16 = { "type": "object", "properties": { "name": { "type": "string" }, "type": { "$ref": "#/definitions/FieldType" }, "isArray": { "type": "boolean" }, "isRequired": { "type": "boolean" }, "isReadOnly": { "type": "boolean" }, "isArrayNullable": { "type": "boolean" }, "attributes": { "type": "array", "items": { "$ref": "#/definitions/FieldAttribute" } }, "association": { "$ref": "#/definitions/AssociationType" }, "arguments": { "$ref": "#/definitions/Arguments" } }, "required": ["name", "type", "isArray", "isRequired"], "additionalProperties": false };
const schema17 = { "anyOf": [{ "$ref": "#/definitions/ScalarType" }, { "type": "object", "properties": { "enum": { "type": "string" } }, "required": ["enum"], "additionalProperties": false }, { "type": "object", "properties": { "model": { "type": "string" } }, "required": ["model"], "additionalProperties": false }, { "type": "object", "properties": { "nonModel": { "type": "string" } }, "required": ["nonModel"], "additionalProperties": false }] };
const schema18 = { "type": "string", "enum": ["ID", "String", "Int", "Float", "AWSDate", "AWSTime", "AWSDateTime", "AWSTimestamp", "AWSEmail", "AWSURL", "AWSIPAddress", "Boolean", "AWSJSON", "AWSPhone"] };
function validate15(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; const _errs1 = errors; if (typeof data !== "string") {
const err0 = { instancePath, schemaPath: "#/definitions/ScalarType/type", keyword: "type", params: { type: "string" }, message: "must be string" };
if (vErrors === null) {
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
} if (!((((((((((((((data === "ID") || (data === "String")) || (data === "Int")) || (data === "Float")) || (data === "AWSDate")) || (data === "AWSTime")) || (data === "AWSDateTime")) || (data === "AWSTimestamp")) || (data === "AWSEmail")) || (data === "AWSURL")) || (data === "AWSIPAddress")) || (data === "Boolean")) || (data === "AWSJSON")) || (data === "AWSPhone"))) {
const err1 = { instancePath, schemaPath: "#/definitions/ScalarType/enum", keyword: "enum", params: { allowedValues: schema18.enum }, message: "must be equal to one of the allowed values" };
if (vErrors === null) {
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
} var _valid0 = _errs1 === errors; valid0 = valid0 || _valid0; if (!valid0) {
const _errs4 = errors;
if (errors === _errs4) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing0;
if ((data.enum === undefined) && (missing0 = "enum")) {
const err2 = { instancePath, schemaPath: "#/anyOf/1/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" };
if (vErrors === null) {
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
else {
const _errs6 = errors;
for (const key0 in data) {
if (!(key0 === "enum")) {
const err3 = { instancePath, schemaPath: "#/anyOf/1/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
if (vErrors === null) {
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
break;
}
}
if (_errs6 === errors) {
if (data.enum !== undefined) {
if (typeof data.enum !== "string") {
const err4 = { instancePath: instancePath + "/enum", schemaPath: "#/anyOf/1/properties/enum/type", keyword: "type", params: { type: "string" }, message: "must be string" };
if (vErrors === null) {
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
}
}
}
}
else {
const err5 = { instancePath, schemaPath: "#/anyOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
if (vErrors === null) {
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
}
}
var _valid0 = _errs4 === errors;
valid0 = valid0 || _valid0;
if (!valid0) {
const _errs9 = errors;
if (errors === _errs9) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing1;
if ((data.model === undefined) && (missing1 = "model")) {
const err6 = { instancePath, schemaPath: "#/anyOf/2/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" };
if (vErrors === null) {
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
else {
const _errs11 = errors;
for (const key1 in data) {
if (!(key1 === "model")) {
const err7 = { instancePath, schemaPath: "#/anyOf/2/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
if (vErrors === null) {
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
break;
}
}
if (_errs11 === errors) {
if (data.model !== undefined) {
if (typeof data.model !== "string") {
const err8 = { instancePath: instancePath + "/model", schemaPath: "#/anyOf/2/properties/model/type", keyword: "type", params: { type: "string" }, message: "must be string" };
if (vErrors === null) {
vErrors = [err8];
}
else {
vErrors.push(err8);
}
errors++;
}
}
}
}
}
else {
const err9 = { instancePath, schemaPath: "#/anyOf/2/type", keyword: "type", params: { type: "object" }, message: "must be object" };
if (vErrors === null) {
vErrors = [err9];
}
else {
vErrors.push(err9);
}
errors++;
}
}
var _valid0 = _errs9 === errors;
valid0 = valid0 || _valid0;
if (!valid0) {
const _errs14 = errors;
if (errors === _errs14) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing2;
if ((data.nonModel === undefined) && (missing2 = "nonModel")) {
const err10 = { instancePath, schemaPath: "#/anyOf/3/required", keyword: "required", params: { missingProperty: missing2 }, message: "must have required property '" + missing2 + "'" };
if (vErrors === null) {
vErrors = [err10];
}
else {
vErrors.push(err10);
}
errors++;
}
else {
const _errs16 = errors;
for (const key2 in data) {
if (!(key2 === "nonModel")) {
const err11 = { instancePath, schemaPath: "#/anyOf/3/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key2 }, message: "must NOT have additional properties" };
if (vErrors === null) {
vErrors = [err11];
}
else {
vErrors.push(err11);
}
errors++;
break;
}
}
if (_errs16 === errors) {
if (data.nonModel !== undefined) {
if (typeof data.nonModel !== "string") {
const err12 = { instancePath: instancePath + "/nonModel", schemaPath: "#/anyOf/3/properties/nonModel/type", keyword: "type", params: { type: "string" }, message: "must be string" };
if (vErrors === null) {
vErrors = [err12];
}
else {
vErrors.push(err12);
}
errors++;
}
}
}
}
}
else {
const err13 = { instancePath, schemaPath: "#/anyOf/3/type", keyword: "type", params: { type: "object" }, message: "must be object" };
if (vErrors === null) {
vErrors = [err13];
}
else {
vErrors.push(err13);
}
errors++;
}
}
var _valid0 = _errs14 === errors;
valid0 = valid0 || _valid0;
}
}
} if (!valid0) {
const err14 = { instancePath, schemaPath: "#/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
if (vErrors === null) {
vErrors = [err14];
}
else {
vErrors.push(err14);
}
errors++;
validate15.errors = vErrors;
return false;
}
else {
errors = _errs0;
if (vErrors !== null) {
if (_errs0) {
vErrors.length = _errs0;
}
else {
vErrors = null;
}
}
} validate15.errors = vErrors; return errors === 0; }
const schema20 = { "anyOf": [{ "$ref": "#/definitions/AssociationHasMany" }, { "$ref": "#/definitions/AssociationHasOne" }, { "$ref": "#/definitions/AssociationBelongsTo" }] };
const schema21 = { "type": "object", "additionalProperties": false, "properties": { "connectionType": { "$ref": "#/definitions/CodeGenConnectionType" }, "associatedWith": { "type": "array", "items": { "type": "string" } } }, "required": ["associatedWith", "connectionType"] };
const schema22 = { "type": "string", "enum": ["HAS_ONE", "BELONGS_TO", "HAS_MANY"], "description": "Field-level Relationship Definitions" };
function validate18(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (errors === 0) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing0;
if (((data.associatedWith === undefined) && (missing0 = "associatedWith")) || ((data.connectionType === undefined) && (missing0 = "connectionType"))) {
validate18.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
return false;
}
else {
const _errs1 = errors;
for (const key0 in data) {
if (!((key0 === "connectionType") || (key0 === "associatedWith"))) {
validate18.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
return false;
break;
}
}
if (_errs1 === errors) {
if (data.connectionType !== undefined) {
let data0 = data.connectionType;
const _errs2 = errors;
if (typeof data0 !== "string") {
validate18.errors = [{ instancePath: instancePath + "/connectionType", schemaPath: "#/definitions/CodeGenConnectionType/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
return false;
}
if (!(((data0 === "HAS_ONE") || (data0 === "BELONGS_TO")) || (data0 === "HAS_MANY"))) {
validate18.errors = [{ instancePath: instancePath + "/connectionType", schemaPath: "#/definitions/CodeGenConnectionType/enum", keyword: "enum", params: { allowedValues: schema22.enum }, message: "must be equal to one of the allowed values" }];
return false;
}
var valid0 = _errs2 === errors;
}
else {
var valid0 = true;
}
if (valid0) {
if (data.associatedWith !== undefined) {
let data1 = data.associatedWith;
const _errs5 = errors;
if (errors === _errs5) {
if (Array.isArray(data1)) {
var valid2 = true;
const len0 = data1.length;
for (let i0 = 0; i0 < len0; i0++) {
const _errs7 = errors;
if (typeof data1[i0] !== "string") {
validate18.errors = [{ instancePath: instancePath + "/associatedWith/" + i0, schemaPath: "#/properties/associatedWith/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
return false;
}
var valid2 = _errs7 === errors;
if (!valid2) {
break;
}
}
}
else {
validate18.errors = [{ instancePath: instancePath + "/associatedWith", schemaPath: "#/properties/associatedWith/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
return false;
}
}
var valid0 = _errs5 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
else {
validate18.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
return false;
}
} validate18.errors = vErrors; return errors === 0; }
const schema23 = { "type": "object", "additionalProperties": false, "properties": { "connectionType": { "$ref": "#/definitions/CodeGenConnectionType" }, "associatedWith": { "type": "array", "items": { "type": "string" } }, "targetNames": { "type": "array", "items": { "type": "string" } } }, "required": ["associatedWith", "connectionType", "targetNames"] };
function validate20(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (errors === 0) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing0;
if ((((data.associatedWith === undefined) && (missing0 = "associatedWith")) || ((data.connectionType === undefined) && (missing0 = "connectionType"))) || ((data.targetNames === undefined) && (missing0 = "targetNames"))) {
validate20.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
return false;
}
else {
const _errs1 = errors;
for (const key0 in data) {
if (!(((key0 === "connectionType") || (key0 === "associatedWith")) || (key0 === "targetNames"))) {
validate20.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
return false;
break;
}
}
if (_errs1 === errors) {
if (data.connectionType !== undefined) {
let data0 = data.connectionType;
const _errs2 = errors;
if (typeof data0 !== "string") {
validate20.errors = [{ instancePath: instancePath + "/connectionType", schemaPath: "#/definitions/CodeGenConnectionType/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
return false;
}
if (!(((data0 === "HAS_ONE") || (data0 === "BELONGS_TO")) || (data0 === "HAS_MANY"))) {
validate20.errors = [{ instancePath: instancePath + "/connectionType", schemaPath: "#/definitions/CodeGenConnectionType/enum", keyword: "enum", params: { allowedValues: schema22.enum }, message: "must be equal to one of the allowed values" }];
return false;
}
var valid0 = _errs2 === errors;
}
else {
var valid0 = true;
}
if (valid0) {
if (data.associatedWith !== undefined) {
let data1 = data.associatedWith;
const _errs5 = errors;
if (errors === _errs5) {
if (Array.isArray(data1)) {
var valid2 = true;
const len0 = data1.length;
for (let i0 = 0; i0 < len0; i0++) {
const _errs7 = errors;
if (typeof data1[i0] !== "string") {
validate20.errors = [{ instancePath: instancePath + "/associatedWith/" + i0, schemaPath: "#/properties/associatedWith/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
return false;
}
var valid2 = _errs7 === errors;
if (!valid2) {
break;
}
}
}
else {
validate20.errors = [{ instancePath: instancePath + "/associatedWith", schemaPath: "#/properties/associatedWith/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
return false;
}
}
var valid0 = _errs5 === errors;
}
else {
var valid0 = true;
}
if (valid0) {
if (data.targetNames !== undefined) {
let data3 = data.targetNames;
const _errs9 = errors;
if (errors === _errs9) {
if (Array.isArray(data3)) {
var valid3 = true;
const len1 = data3.length;
for (let i1 = 0; i1 < len1; i1++) {
const _errs11 = errors;
if (typeof data3[i1] !== "string") {
validate20.errors = [{ instancePath: instancePath + "/targetNames/" + i1, schemaPath: "#/properties/targetNames/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
return false;
}
var valid3 = _errs11 === errors;
if (!valid3) {
break;
}
}
}
else {
validate20.errors = [{ instancePath: instancePath + "/targetNames", schemaPath: "#/properties/targetNames/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
return false;
}
}
var valid0 = _errs9 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
}
else {
validate20.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
return false;
}
} validate20.errors = vErrors; return errors === 0; }
const schema25 = { "type": "object", "additionalProperties": false, "properties": { "connectionType": { "$ref": "#/definitions/CodeGenConnectionType" }, "targetNames": { "type": "array", "items": { "type": "string" } } }, "required": ["connectionType", "targetNames"] };
function validate22(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (errors === 0) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing0;
if (((data.connectionType === undefined) && (missing0 = "connectionType")) || ((data.targetNames === undefined) && (missing0 = "targetNames"))) {
validate22.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
return false;
}
else {
const _errs1 = errors;
for (const key0 in data) {
if (!((key0 === "connectionType") || (key0 === "targetNames"))) {
validate22.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
return false;
break;
}
}
if (_errs1 === errors) {
if (data.connectionType !== undefined) {
let data0 = data.connectionType;
const _errs2 = errors;
if (typeof data0 !== "string") {
validate22.errors = [{ instancePath: instancePath + "/connectionType", schemaPath: "#/definitions/CodeGenConnectionType/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
return false;
}
if (!(((data0 === "HAS_ONE") || (data0 === "BELONGS_TO")) || (data0 === "HAS_MANY"))) {
validate22.errors = [{ instancePath: instancePath + "/connectionType", schemaPath: "#/definitions/CodeGenConnectionType/enum", keyword: "enum", params: { allowedValues: schema22.enum }, message: "must be equal to one of the allowed values" }];
return false;
}
var valid0 = _errs2 === errors;
}
else {
var valid0 = true;
}
if (valid0) {
if (data.targetNames !== undefined) {
let data1 = data.targetNames;
const _errs5 = errors;
if (errors === _errs5) {
if (Array.isArray(data1)) {
var valid2 = true;
const len0 = data1.length;
for (let i0 = 0; i0 < len0; i0++) {
const _errs7 = errors;
if (typeof data1[i0] !== "string") {
validate22.errors = [{ instancePath: instancePath + "/targetNames/" + i0, schemaPath: "#/properties/targetNames/items/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
return false;
}
var valid2 = _errs7 === errors;
if (!valid2) {
break;
}
}
}
else {
validate22.errors = [{ instancePath: instancePath + "/targetNames", schemaPath: "#/properties/targetNames/type", keyword: "type", params: { type: "array" }, message: "must be array" }];
return false;
}
}
var valid0 = _errs5 === errors;
}
else {
var valid0 = true;
}
}
}
}
}
else {
validate22.errors = [{ instancePath, schemaPath: "#/type", keyword: "type", params: { type: "object" }, message: "must be object" }];
return false;
}
} validate22.errors = vErrors; return errors === 0; }
function validate17(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; const _errs1 = errors; if (!(validate18(data, { instancePath, parentData, parentDataProperty, rootData }))) {
vErrors = vErrors === null ? validate18.errors : vErrors.concat(validate18.errors);
errors = vErrors.length;
} var _valid0 = _errs1 === errors; valid0 = valid0 || _valid0; if (!valid0) {
const _errs2 = errors;
if (!(validate20(data, { instancePath, parentData, parentDataProperty, rootData }))) {
vErrors = vErrors === null ? validate20.errors : vErrors.concat(validate20.errors);
errors = vErrors.length;
}
var _valid0 = _errs2 === errors;
valid0 = valid0 || _valid0;
if (!valid0) {
const _errs3 = errors;
if (!(validate22(data, { instancePath, parentData, parentDataProperty, rootData }))) {
vErrors = vErrors === null ? validate22.errors : vErrors.concat(validate22.errors);
errors = vErrors.length;
}
var _valid0 = _errs3 === errors;
valid0 = valid0 || _valid0;
}
} if (!valid0) {
const err0 = { instancePath, schemaPath: "#/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
if (vErrors === null) {
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
validate17.errors = vErrors;
return false;
}
else {
errors = _errs0;
if (vErrors !== null) {
if (_errs0) {
vErrors.length = _errs0;
}
else {
vErrors = null;
}
}
} validate17.errors = vErrors; return errors === 0; }
const schema27 = { "type": "object", "additionalProperties": { "$ref": "#/definitions/Argument" } };
const schema28 = { "type": "object", "properties": { "name": { "type": "string" }, "type": { "$ref": "#/definitions/InputFieldType" }, "isArray": { "type": "boolean" }, "isRequired": { "type": "boolean" }, "isArrayNullable": { "type": "boolean" } }, "required": ["name", "type", "isArray", "isRequired"], "additionalProperties": false };
const schema29 = { "anyOf": [{ "$ref": "#/definitions/ScalarType" }, { "type": "object", "properties": { "enum": { "type": "string" } }, "required": ["enum"], "additionalProperties": false }, { "type": "object", "properties": { "input": { "type": "string" } }, "required": ["input"], "additionalProperties": false }] };
function validate27(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; const _errs0 = errors; let valid0 = false; const _errs1 = errors; if (typeof data !== "string") {
const err0 = { instancePath, schemaPath: "#/definitions/ScalarType/type", keyword: "type", params: { type: "string" }, message: "must be string" };
if (vErrors === null) {
vErrors = [err0];
}
else {
vErrors.push(err0);
}
errors++;
} if (!((((((((((((((data === "ID") || (data === "String")) || (data === "Int")) || (data === "Float")) || (data === "AWSDate")) || (data === "AWSTime")) || (data === "AWSDateTime")) || (data === "AWSTimestamp")) || (data === "AWSEmail")) || (data === "AWSURL")) || (data === "AWSIPAddress")) || (data === "Boolean")) || (data === "AWSJSON")) || (data === "AWSPhone"))) {
const err1 = { instancePath, schemaPath: "#/definitions/ScalarType/enum", keyword: "enum", params: { allowedValues: schema18.enum }, message: "must be equal to one of the allowed values" };
if (vErrors === null) {
vErrors = [err1];
}
else {
vErrors.push(err1);
}
errors++;
} var _valid0 = _errs1 === errors; valid0 = valid0 || _valid0; if (!valid0) {
const _errs4 = errors;
if (errors === _errs4) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing0;
if ((data.enum === undefined) && (missing0 = "enum")) {
const err2 = { instancePath, schemaPath: "#/anyOf/1/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" };
if (vErrors === null) {
vErrors = [err2];
}
else {
vErrors.push(err2);
}
errors++;
}
else {
const _errs6 = errors;
for (const key0 in data) {
if (!(key0 === "enum")) {
const err3 = { instancePath, schemaPath: "#/anyOf/1/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" };
if (vErrors === null) {
vErrors = [err3];
}
else {
vErrors.push(err3);
}
errors++;
break;
}
}
if (_errs6 === errors) {
if (data.enum !== undefined) {
if (typeof data.enum !== "string") {
const err4 = { instancePath: instancePath + "/enum", schemaPath: "#/anyOf/1/properties/enum/type", keyword: "type", params: { type: "string" }, message: "must be string" };
if (vErrors === null) {
vErrors = [err4];
}
else {
vErrors.push(err4);
}
errors++;
}
}
}
}
}
else {
const err5 = { instancePath, schemaPath: "#/anyOf/1/type", keyword: "type", params: { type: "object" }, message: "must be object" };
if (vErrors === null) {
vErrors = [err5];
}
else {
vErrors.push(err5);
}
errors++;
}
}
var _valid0 = _errs4 === errors;
valid0 = valid0 || _valid0;
if (!valid0) {
const _errs9 = errors;
if (errors === _errs9) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing1;
if ((data.input === undefined) && (missing1 = "input")) {
const err6 = { instancePath, schemaPath: "#/anyOf/2/required", keyword: "required", params: { missingProperty: missing1 }, message: "must have required property '" + missing1 + "'" };
if (vErrors === null) {
vErrors = [err6];
}
else {
vErrors.push(err6);
}
errors++;
}
else {
const _errs11 = errors;
for (const key1 in data) {
if (!(key1 === "input")) {
const err7 = { instancePath, schemaPath: "#/anyOf/2/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key1 }, message: "must NOT have additional properties" };
if (vErrors === null) {
vErrors = [err7];
}
else {
vErrors.push(err7);
}
errors++;
break;
}
}
if (_errs11 === errors) {
if (data.input !== undefined) {
if (typeof data.input !== "string") {
const err8 = { instancePath: instancePath + "/input", schemaPath: "#/anyOf/2/properties/input/type", keyword: "type", params: { type: "string" }, message: "must be string" };
if (vErrors === null) {
vErrors = [err8];
}
else {
vErrors.push(err8);
}
errors++;
}
}
}
}
}
else {
const err9 = { instancePath, schemaPath: "#/anyOf/2/type", keyword: "type", params: { type: "object" }, message: "must be object" };
if (vErrors === null) {
vErrors = [err9];
}
else {
vErrors.push(err9);
}
errors++;
}
}
var _valid0 = _errs9 === errors;
valid0 = valid0 || _valid0;
}
} if (!valid0) {
const err10 = { instancePath, schemaPath: "#/anyOf", keyword: "anyOf", params: {}, message: "must match a schema in anyOf" };
if (vErrors === null) {
vErrors = [err10];
}
else {
vErrors.push(err10);
}
errors++;
validate27.errors = vErrors;
return false;
}
else {
errors = _errs0;
if (vErrors !== null) {
if (_errs0) {
vErrors.length = _errs0;
}
else {
vErrors = null;
}
}
} validate27.errors = vErrors; return errors === 0; }
function validate26(data, { instancePath = "", parentData, parentDataProperty, rootData = data } = {}) { let vErrors = null; let errors = 0; if (errors === 0) {
if (data && typeof data == "object" && !Array.isArray(data)) {
let missing0;
if (((((data.name === undefined) && (missing0 = "name")) || ((data.type === undefined) && (missing0 = "type"))) || ((data.isArray === undefined) && (missing0 = "isArray"))) || ((data.isRequired === undefined) && (missing0 = "isRequired"))) {
validate26.errors = [{ instancePath, schemaPath: "#/required", keyword: "required", params: { missingProperty: missing0 }, message: "must have required property '" + missing0 + "'" }];
return false;
}
else {
const _errs1 = errors;
for (const key0 in data) {
if (!(((((key0 === "name") || (key0 === "type")) || (key0 === "isArray")) || (key0 === "isRequired")) || (key0 === "isArrayNullable"))) {
validate26.errors = [{ instancePath, schemaPath: "#/additionalProperties", keyword: "additionalProperties", params: { additionalProperty: key0 }, message: "must NOT have additional properties" }];
return false;
break;
}
}
if (_errs1 === errors) {
if (data.name !== undefined) {
const _errs2 = errors;
if (typeof data.name !== "string") {
validate26.errors = [{ instancePath: instancePath + "/name", schemaPath: "#/properties/name/type", keyword: "type", params: { type: "string" }, message: "must be string" }];
return false;
}
var valid0 = _errs2 === errors;
}
else {
var valid0 = true;
}
if (valid0) {
if (data.type !== undefined) {
const _errs4 = errors;
if (!(validate27(data.type, { instancePath: instancePath + "/type", parentData: data, parentDataProperty: "type", rootData }))) {
vErrors = vErrors === null ? validate27.errors : vErrors.concat(validate27.errors);
errors = vErrors.length;
}
var valid0 = _err