UNPKG

@aws-amplify/appsync-modelgen-plugin

Version:
727 lines 152 kB
"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