toJsonSchema method
dynamic
toJsonSchema({
- 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()
};
}
}