@@ -21,7 +21,7 @@ import {
2121 type SchemaAnalysisState ,
2222} from '../schema-analysis-types' ;
2323import { calculateSchemaDepth } from '../calculate-schema-depth' ;
24- import type { MongoError } from 'mongodb' ;
24+ import type { Document , MongoError } from 'mongodb' ;
2525
2626const DEFAULT_SAMPLE_SIZE = 100 ;
2727
@@ -79,13 +79,18 @@ enum CollectionActions {
7979 SchemaAnalysisStarted = 'compass-collection/SchemaAnalysisStarted' ,
8080 SchemaAnalysisFinished = 'compass-collection/SchemaAnalysisFinished' ,
8181 SchemaAnalysisFailed = 'compass-collection/SchemaAnalysisFailed' ,
82+ SchemaAnalysisReset = 'compass-collection/SchemaAnalysisReset' ,
8283}
8384
8485interface CollectionMetadataFetchedAction {
8586 type : CollectionActions . CollectionMetadataFetched ;
8687 metadata : CollectionMetadata ;
8788}
8889
90+ interface SchemaAnalysisResetAction {
91+ type : CollectionActions . SchemaAnalysisReset ;
92+ }
93+
8994interface SchemaAnalysisStartedAction {
9095 type : CollectionActions . SchemaAnalysisStarted ;
9196}
@@ -129,6 +134,20 @@ const reducer: Reducer<CollectionState, Action> = (
129134 } ;
130135 }
131136
137+ if (
138+ isAction < SchemaAnalysisResetAction > (
139+ action ,
140+ CollectionActions . SchemaAnalysisReset
141+ )
142+ ) {
143+ return {
144+ ...state ,
145+ schemaAnalysis : {
146+ status : SCHEMA_ANALYSIS_STATE_INITIAL ,
147+ } ,
148+ } ;
149+ }
150+
132151 if (
133152 isAction < SchemaAnalysisStartedAction > (
134153 action ,
@@ -139,10 +158,6 @@ const reducer: Reducer<CollectionState, Action> = (
139158 ...state ,
140159 schemaAnalysis : {
141160 status : SCHEMA_ANALYSIS_STATE_ANALYZING ,
142- error : null ,
143- schema : null ,
144- sampleDocument : null ,
145- schemaMetadata : null ,
146161 } ,
147162 } ;
148163 }
0 commit comments