Skip to content

$ref in subschemas #1286

@ph-poppe

Description

@ph-poppe

Before you open an issue, please check if a similar one already exists or has been closed before. Detailed information about the process of contributing can be found in CONTRIBUTING.md.

Let us know what is happening. Do provide us with:

  • Affected versions of the core, bridge, and theme packages you are aware of.
    • Include other versions as well, if you think it may help (React, browser, etc.).
  • Steps to reproduce. If possible, include a reproduction using our playground or CodeSandbox template.
  • Possible workarounds, if you've found any.

versions:
"uniforms": "^4.0.0-alpha.5",
"uniforms-bridge-json-schema": "^4.0.0-alpha.5",
"ajv": "^8.0.0",

run on chrome, React v 16.14

I have 2 schemas that are combined in a final one:

subschema1:

// note: instanceOf is handled by ajv
{
  $id: "/schemas/dateDef",
  oneOf: [{ type: "string", format: "date-time" }, { instanceof: "Date" }]
};

subschema 2:

{
  $id: "schemas/schema2",
  $schema: "http://json-schema.org/draft-07/schema#",
  type: "object",
  properties: {
    receivedDate: {
      $ref: "#/definitions/dateDef"
    },
    dueDate: {
      $ref: "#/definitions/dateDef"
    }
  },
  definitions:{
    dateDef:...
  }
}

final schema:

{
  type: "object",
  properties: {
     test: {$ref: "#/definitions/subSchema2"}
  },
  definitions: {
   subSchema2:...
 }
}

When this is loaded into the jonschemabridge, I hit the problem that dateDef is not resolved. In the jsonschemabridge he is looking for the dateDef definition in the parent schema, not in the subschema (subSchema2) and hence throwing an error. Is there a way for the bridge to look up the definition in the subschema?

current workaround:

  • adding the definition of the subSchema1 in the final schema as well.

thanks for the support!

Metadata

Metadata

Assignees

Labels

Area: BridgeAffects some of the bridge packagesBridge: JSON SchemaAffects the uniforms-bridge-json-schema packageType: QuestionQuestions and other discussions

Type

No type
No fields configured for issues without a type.

Projects

Status
In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions