documentNodeSerialize function

Map<String, dynamic> documentNodeSerialize(
  1. DocumentNode node, {
  2. List<AbsDocumentSerialize> customSerializeParser = const [],
  3. AttributionSerializeBuilder? attributionSerializeBuilder,
})

节点序列化 Node serialization customSerializeParser 自定义序列化处理器 attributionSerializeBuilder 属性序列化构建器 - Attribution

Implementation

Map<String, dynamic> documentNodeSerialize(
  DocumentNode node, {
  List<AbsDocumentSerialize> customSerializeParser = const [],
  AttributionSerializeBuilder? attributionSerializeBuilder,
}) {
  final parsers = [...customSerializeParser, ...defaultSerializeParser];

  for (var parser in parsers) {
    if (parser is BaseDocumentJsonSerialize) {
      parser.customAttributionSerializeBuilder = attributionSerializeBuilder;
    }
    var data = parser.serialize(node);
    if (data != null) {
      return data;
    }
  }
  throw "the node ${node.runtimeType} cannot be serialized,Please check if there is a corresponding parser";
}