@versionzero/schema / SchemaLocation
Class: SchemaLocation
Defined in: src/schema-location.js:13
The SchemaLocation tracks the schema and parent/child relationships for a given traversal path.
Schemas can be linked into a hierarchy in multiple positions, so they have no static "parent". However, traversal builds an implicit hierarchy of locations that each then refer to a schema (if known), enabling access to any schema within the location hierarchy, including the parent.
The current location is passed to value processors, effectively acting as a sort of "cursor".
Constructors
Constructor
new SchemaLocation(
schema,parent?,propertyName?):SchemaLocation
Defined in: src/schema-location.js:31
Parameters
| Parameter | Type | Description |
|---|---|---|
schema | CompiledSchema | - |
parent? | SchemaLocation | - |
propertyName? | string | - |
Returns
SchemaLocation
Accessors
path
Get Signature
get path():
string
Defined in: src/schema-location.js:43
Returns
string
name
Get Signature
get name():
string
Defined in: src/schema-location.js:52
Returns
string
schema
Get Signature
get schema():
CompiledSchema
Defined in: src/schema-location.js:58
Returns
parent
Get Signature
get parent():
SchemaLocation|undefined
Defined in: src/schema-location.js:79
Returns
SchemaLocation | undefined
root
Get Signature
get root():
SchemaLocation
Defined in: src/schema-location.js:84
Returns
SchemaLocation
Methods
relative()
relative(
path):SchemaLocation|undefined
Defined in: src/schema-location.js:94
Return the location of the path relative to the current location.
Parameters
| Parameter | Type | Description |
|---|---|---|
path | string | - |
Returns
SchemaLocation | undefined
absolute()
absolute(
path):SchemaLocation|undefined
Defined in: src/schema-location.js:138
Return the location of the path relative to the root of the known location hierarchy.
Parameters
| Parameter | Type | Description |
|---|---|---|
path | string | - |
Returns
SchemaLocation | undefined
sibling()
sibling(
path):SchemaLocation|undefined
Defined in: src/schema-location.js:148
Return the location of a sibling with the relative path.
Parameters
| Parameter | Type | Description |
|---|---|---|
path | string | - |
Returns
SchemaLocation | undefined
union()
union(
unionSchema):SchemaLocation|undefined
Defined in: src/schema-location.js:161
Return a temporary location corresponding to one of our not-yet-resolved union members.
Parameters
| Parameter | Type | Description |
|---|---|---|
unionSchema | CompiledSchema | - |
Returns
SchemaLocation | undefined
findPropertyLocation()
findPropertyLocation(
predicate):SchemaLocation|undefined
Defined in: src/schema-location.js:184
Parameters
| Parameter | Type | Description |
|---|---|---|
predicate | (location) => any | - |
Returns
SchemaLocation | undefined