toJsonSchema method

  1. @override
dynamic toJsonSchema({
  1. PlutusSchemaConfig config = const PlutusSchemaConfig(jsonSchema: PlutusJsonSchema.basicConversions),
})
override

Implementation

@override
toJsonSchema(
    {PlutusSchemaConfig config = const PlutusSchemaConfig(
        jsonSchema: PlutusJsonSchema.basicConversions)}) {
  if (config.jsonSchema == PlutusJsonSchema.basicConversions) {
    final Map<String, dynamic> json = {};
    for (final i in value.entries) {
      if (i.key is! PlutusInteger && i.key is! PlutusBytes) {
        throw MessageException("plutus object are not allowed as key.",
            details: {"Key": i.key, "Type": i.key.runtimeType});
      }
      final key = i.key.toJsonSchema(config: config).toString();
      final value = i.value.toJsonSchema(config: config);
      json.addAll({key: value});
    }
    return json;
  } else {
    return {
      "map": value.entries.map((entry) {
        final k = entry.key.toJsonSchema(config: config);
        final v = entry.value.toJsonSchema(config: config);
        return {'k': k, 'v': v};
      }).toList()
    };
  }
}