@@ -58,6 +58,7 @@ const defaultGetDataID = require('./defaultGetDataID');
58
58
const defaultRelayFieldLogger = require ( './defaultRelayFieldLogger' ) ;
59
59
const normalizeResponse = require ( './normalizeResponse' ) ;
60
60
const OperationExecutor = require ( './OperationExecutor' ) ;
61
+ const RelayModernStore = require ( './RelayModernStore' ) ;
61
62
const RelayPublishQueue = require ( './RelayPublishQueue' ) ;
62
63
const RelayRecordSource = require ( './RelayRecordSource' ) ;
63
64
const invariant = require ( 'invariant' ) ;
@@ -71,7 +72,7 @@ export type EnvironmentConfig = {
71
72
+ network : INetwork ,
72
73
+ normalizeResponse ?: ?NormalizeResponseFunction ,
73
74
+ scheduler ?: ?TaskScheduler ,
74
- + store : Store ,
75
+ + store ? : Store ,
75
76
+ missingFieldHandlers ?: ?$ReadOnlyArray < MissingFieldHandler > ,
76
77
+ operationTracker ?: ?OperationTracker ,
77
78
+ getDataID ?: ?GetDataID ,
@@ -118,6 +119,15 @@ class RelayModernEnvironment implements IEnvironment {
118
119
) ;
119
120
}
120
121
}
122
+ const store =
123
+ config . store ??
124
+ new RelayModernStore ( new RelayRecordSource ( ) , {
125
+ log : config . log ,
126
+ operationLoader : config . operationLoader ,
127
+ getDataID : config . getDataID ,
128
+ shouldProcessClientComponents : config . shouldProcessClientComponents ,
129
+ } ) ;
130
+
121
131
this . __log = config . log ?? emptyFunction ;
122
132
this . relayFieldLogger = config . relayFieldLogger ?? defaultRelayFieldLogger ;
123
133
this . _defaultRenderPolicy =
@@ -128,14 +138,14 @@ class RelayModernEnvironment implements IEnvironment {
128
138
this . _getDataID = config . getDataID ?? defaultGetDataID ;
129
139
this . _missingFieldHandlers = config . missingFieldHandlers ?? [ ] ;
130
140
this . _publishQueue = new RelayPublishQueue (
131
- config . store ,
141
+ store ,
132
142
config . handlerProvider ?? RelayDefaultHandlerProvider ,
133
143
this . _getDataID ,
134
144
this . _missingFieldHandlers ,
135
145
this . __log ,
136
146
) ;
137
147
this . _scheduler = config . scheduler ?? null ;
138
- this . _store = config . store ;
148
+ this . _store = store ;
139
149
this . options = config . options ;
140
150
this . _isServer = config . isServer ?? false ;
141
151
this . _normalizeResponse = config . normalizeResponse ?? normalizeResponse ;
0 commit comments