toJson method

Map<String, dynamic> toJson()

Implementation

Map<String, dynamic> toJson() {
  final props = {};
  final required = <String>[];

  for (final p in _properties) {
    required.add(p.name);
    if (props.containsKey(p.name)) {
      throw MeshSchemaValidationException("duplicate key in schema: ${p.name}");
    }
    props[p.name] = p.toJson()[p.name];
  }

  return {
    "type": "object",
    "additionalProperties": false,
    "description": _description,
    "required": [_tagName],
    "properties": {
      _tagName: {"type": "object", "additionalProperties": false, "required": required, "properties": props},
    },
  };
}