mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/51416 Deletes `oncall` annotations from the `facebook/react-native` repository. Changelog: [Internal] Reviewed By: javache Differential Revision: D74902524 fbshipit-source-id: 32a6a5b2ff27281792d572f151e2b094d9a79029
54 lines
1.3 KiB
JavaScript
54 lines
1.3 KiB
JavaScript
/**
|
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow strict-local
|
|
* @format
|
|
*/
|
|
|
|
import type {
|
|
DiffSummary,
|
|
ExportableSchemaDiff,
|
|
FormattedDiffSummary,
|
|
SchemaDiff,
|
|
} from './DiffResults';
|
|
import type {SchemaType} from '@react-native/codegen/src/CodegenSchema';
|
|
|
|
import {schemaDiffExporter} from './DiffResults.js';
|
|
import {formatDiffSet} from './ErrorFormatting.js';
|
|
import {buildSchemaDiff, summarizeDiffSet} from './VersionDiffing.js';
|
|
|
|
class CompatCheckResult {
|
|
#schemaDiff: Set<SchemaDiff>;
|
|
#summary: ?DiffSummary;
|
|
|
|
constructor(schemaDiff: Set<SchemaDiff>) {
|
|
this.#schemaDiff = schemaDiff;
|
|
}
|
|
|
|
getSummary(): DiffSummary {
|
|
if (this.#summary == null) {
|
|
this.#summary = summarizeDiffSet(this.#schemaDiff);
|
|
}
|
|
|
|
return this.#summary;
|
|
}
|
|
|
|
getErrors(): FormattedDiffSummary {
|
|
return formatDiffSet(this.getSummary());
|
|
}
|
|
|
|
getDebugInfo(): Array<ExportableSchemaDiff> {
|
|
return Array.from(this.#schemaDiff, schemaDiffExporter);
|
|
}
|
|
}
|
|
|
|
export function compareSchemas(
|
|
newSchema: SchemaType,
|
|
oldSchema: SchemaType,
|
|
): CompatCheckResult {
|
|
return new CompatCheckResult(buildSchemaDiff(newSchema, oldSchema));
|
|
}
|