(context, mergedSchemaId, mergedLocations)
| 488 | } |
| 489 | |
| 490 | function mergeLocations (context, mergedSchemaId, mergedLocations) { |
| 491 | for (let i = 0, mergedLocationsLength = mergedLocations.length; i < mergedLocationsLength; i++) { |
| 492 | const location = mergedLocations[i] |
| 493 | const schema = location.schema |
| 494 | if (schema.$ref) { |
| 495 | mergedLocations[i] = resolveRef(context, location) |
| 496 | } |
| 497 | } |
| 498 | |
| 499 | const mergedSchemas = [] |
| 500 | for (const location of mergedLocations) { |
| 501 | const schema = cloneOriginSchema(context, location.schema, location.schemaId) |
| 502 | delete schema.$id |
| 503 | |
| 504 | mergedSchemas.push(schema) |
| 505 | } |
| 506 | |
| 507 | const mergedSchema = mergeSchemas(mergedSchemas) |
| 508 | const mergedLocation = new Location(mergedSchema, mergedSchemaId) |
| 509 | |
| 510 | context.refResolver.addSchema(mergedSchema, mergedSchemaId) |
| 511 | return mergedLocation |
| 512 | } |
| 513 | |
| 514 | function cloneOriginSchema (context, schema, schemaId) { |
| 515 | const clonedSchema = Array.isArray(schema) ? [] : {} |
no test coverage detected
searching dependent graphs…