jsonTreeEncode method

  1. @override
Object? jsonTreeEncode(
  1. void instance, {
  2. JsonEncodingContext? context,
})
override

Converts the argument into a JSON tree.

Valid nodes in JSON trees

The method returns a tree, where nodes are instances of:

  • null
  • bool
  • double
  • String
  • List, where items are valid nodes.
  • Map<String,Object?>, where keys are strings and values are valid nodes.

Errors

Thrown errors are subclasses of GraphNodeError, which describes which node in the input graph caused the error.

Examples

import 'package:kind/kind.dart';

void main() {
  final date = Date(2020, 12, 31);
  final kind = DateKind();
  kind.jsonTreeEncode(date); // --> '2020-12-31'
}

Implementing this method

Implementations must use context to:

  • Serialize other values.
  • Construct errors.

If context is null, implementations must construct one with JsonDecodingContext().

Implementation

@override
Object? jsonTreeEncode(void instance, {JsonEncodingContext? context}) {
  return null;
}