@@ -29,11 +29,9 @@ function NamespacedDataSet() {
2929 }
3030
3131 function enumerate ( callback ) {
32- for ( const ns in itemsByNamespace ) {
33- const items = itemsByNamespace [ ns ] ;
32+ for ( const [ ns , items ] of Object . entries ( itemsByNamespace ) ) {
3433 const keys = Object . keys ( items ) . sort ( ) ; // sort to make tests determinate
35- for ( const i in keys ) {
36- const key = keys [ i ] ;
34+ for ( const key of keys ) {
3735 callback ( ns , key , items [ key ] ) ;
3836 }
3937 }
@@ -138,16 +136,14 @@ function FeatureStoreEventWrapper(featureStore, emitter) {
138136 function computeDependencies ( kind , item ) {
139137 const ret = NamespacedDataSet ( ) ;
140138 if ( kind === dataKind . features ) {
141- for ( const i in item . prerequisites || [ ] ) {
142- ret . set ( dataKind . features . namespace , item . prerequisites [ i ] . key , true ) ;
139+ for ( const prereq of item . prerequisites || [ ] ) {
140+ ret . set ( dataKind . features . namespace , prereq . key , true ) ;
143141 }
144- for ( const i in item . rules || [ ] ) {
145- const rule = item . rules [ i ] ;
146- for ( const j in rule . clauses || [ ] ) {
147- const clause = rule . clauses [ j ] ;
142+ for ( const rule of item . rules || [ ] ) {
143+ for ( const clause of rule . clauses || [ ] ) {
148144 if ( clause . op === 'segmentMatch' ) {
149- for ( const k in clause . values ) {
150- ret . set ( dataKind . segments . namespace , clause . values [ k ] , true ) ;
145+ for ( const value of clause . values ) {
146+ ret . set ( dataKind . segments . namespace , value , true ) ;
151147 }
152148 }
153149 }
@@ -168,22 +164,21 @@ function FeatureStoreEventWrapper(featureStore, emitter) {
168164 featureStore . init ( newData , ( ) => {
169165 dependencyTracker . reset ( ) ;
170166
171- for ( const namespace in newData ) {
172- const items = newData [ namespace ] ;
167+ for ( const [ namespace , items ] of Object . entries ( newData ) ) {
173168 const kind = dataKind [ namespace ] ;
174- for ( const key in items ) {
169+ for ( const key of Object . keys ( items || { } ) ) {
175170 const item = items [ key ] ;
176171 dependencyTracker . updateDependenciesFrom ( namespace , key , computeDependencies ( kind , item ) ) ;
177172 }
178173 }
179174
180175 if ( checkForChanges ) {
181176 const updatedItems = NamespacedDataSet ( ) ;
182- for ( const namespace in newData ) {
177+ for ( const namespace of Object . keys ( newData ) ) {
183178 const oldDataForKind = oldData [ namespace ] ;
184179 const newDataForKind = newData [ namespace ] ;
185180 const mergedData = Object . assign ( { } , oldDataForKind , newDataForKind ) ;
186- for ( const key in mergedData ) {
181+ for ( const key of Object . keys ( mergedData ) ) {
187182 addIfModified (
188183 namespace ,
189184 key ,
0 commit comments