inspect static method
ChartPayloadDoctorReport
inspect(
- Map<
String, dynamic> payload, { - bool deep = false,
- bool requireRegisteredType = false,
- PayloadNormalizationOptions? normalizationOptions,
Implementation
static ChartPayloadDoctorReport inspect(
Map<String, dynamic> payload, {
bool deep = false,
bool requireRegisteredType = false,
PayloadNormalizationOptions? normalizationOptions,
}) {
final type = _payloadType(payload);
final expectedShape = targetSeriesDataShape(type);
final inferredShape = inferSeriesDataShape(payload);
final contract = chartPayloadContractForType(type);
final apiContract = chartApiContractForType(type);
final rawValidation = ChartConfigValidator.validateJsonPayload(
payload,
deep: deep,
requireRegisteredType: requireRegisteredType,
);
final normalization = ChartConfigValidator.normalizePayloadWithReport(
payload,
options: normalizationOptions,
);
final normalizedValidation = ChartConfigValidator.validateJsonPayload(
normalization.normalizedPayload,
deep: deep,
requireRegisteredType: requireRegisteredType,
);
final findings = <ChartPayloadDoctorFinding>[
..._validationFindings(rawValidation),
..._contractFindings(payload, contract),
..._shapeFindings(
type: type,
expectedShape: expectedShape,
inferredShape: inferredShape,
rawValidation: rawValidation,
),
..._normalizationFindings(
rawValidation: rawValidation,
normalizedValidation: normalizedValidation,
normalization: normalization,
),
];
return ChartPayloadDoctorReport(
type: type,
expectedShape: expectedShape,
inferredShape: inferredShape,
payloadContract: contract,
apiContract: apiContract,
rawValidation: rawValidation,
normalizedValidation: normalizedValidation,
normalization: normalization,
findings: findings,
);
}