toJson method

  1. @override
Map<String, dynamic> toJson()
override

转换为易读的JSON对象

Implementation

@override
Map<String, dynamic> toJson() {
  final map = <String, dynamic>{
    'toString': toString(),
    'identifier': identifier,
    'metaType': metaType.toString(),
    'metaData': metaType == VmMetaType.internalApply
        ? {
            'isIniter': metaData.isIniter,
            'isStatic': metaData.isStatic,
            'isGetter': metaData.isGetter,
            'isSetter': metaData.isSetter,
            'listArguments': '[${metaData.listArguments.map((e) => '${e.isClassField ? 'this.' : (e.isSuperField ? 'super.' : '')}${e.fieldName}${e.fieldValue == null ? '' : ' = ${e.getValue()}'}').join(', ')}]',
            'nameArguments': '{${metaData.nameArguments.map((e) => '${e.isClassField ? 'this.' : (e.isSuperField ? 'super.' : '')}${e.fieldName}${e.fieldValue == null ? '' : ' = ${e.getValue()}'}').join(', ')}}',
            'initTree': metaData.initTree.map((e) => e?.keys.map((e) => e.toString()).toList()).toList(),
            'bodyTree': '{${metaData.bodyTree.keys.map((e) => e.toString()).join(', ')}}',
            'staticListener': metaData.staticListener != null,
            'instanceListener': metaData.instanceListener != null,
          }
        : metaData.toString(),
  };
  map['_valueType'] = _valueType.toString();
  map['_valueData'] = _valueData is VmValue ? _valueData : _valueData?.toString();
  if (_staticScope != null) map['_staticScope'] = _staticScope?.toString();
  if (_staticScope != null) map['_instanceScope'] = _instanceScope?.toString();
  return map;
}