@multiversx/sdk-json-schema-expander
v1.0.8
Published
MultiversX configuration schema helper functions
Downloads
493
Maintainers
Keywords
Readme
Utility for converting short-handed configuration schemas to JSON schemas
Example
ConfigurationSchemaExpander.expand(shortHandedConfig);
title: config
apps:
api:
urls:
prefix: string
features:
publicApi:
enabled: boolean
port: integer
privateApi:
enabled: boolean
port: integer
libs:
common:
urls:
api: string
redis:
host: string
port: integer
will result into the following JSON schema:
{
"title":"config",
"$schema":"http://json-schema.org/draft-07/schema#",
"type":"object",
"properties":{
"apps":{
"type":"object",
"properties":{
"api":{
"type":"object",
"properties":{
"urls":{
"type":"object",
"properties":{
"prefix":{
"type":"string"
}
},
"required":[
"prefix"
],
"additionalProperties":false
},
"features":{
"type":"object",
"properties":{
"publicApi":{
"type":"object",
"properties":{
"enabled":{
"type":"boolean"
},
"port":{
"type":"integer"
}
},
"required":[
"enabled",
"port"
],
"additionalProperties":false
},
"privateApi":{
"type":"object",
"properties":{
"enabled":{
"type":"boolean"
},
"port":{
"type":"integer"
}
},
"required":[
"enabled",
"port"
],
"additionalProperties":false
}
},
"required":[
"publicApi",
"privateApi"
],
"additionalProperties":false
}
},
"required":[
"urls",
"features"
],
"additionalProperties":false
}
},
"required":[
"api"
],
"additionalProperties":false
},
"libs":{
"type":"object",
"properties":{
"common":{
"type":"object",
"properties":{
"urls":{
"type":"object",
"properties":{
"api":{
"type":"string"
}
},
"required":[
"api"
],
"additionalProperties":false
},
"redis":{
"type":"object",
"properties":{
"host":{
"type":"string"
},
"port":{
"type":"integer"
}
},
"required":[
"host",
"port"
],
"additionalProperties":false
}
},
"required":[
"urls",
"redis"
],
"additionalProperties":false
}
},
"required":[
"common"
],
"additionalProperties":false
}
},
"required":[
"apps",
"libs"
],
"additionalProperties":false
}