File tree Expand file tree Collapse file tree 2 files changed +13
-14
lines changed Expand file tree Collapse file tree 2 files changed +13
-14
lines changed Original file line number Diff line number Diff line change @@ -196,7 +196,6 @@ if (process.env['NODE_ENV'] !== 'production') {
196196 observer . onReadStart = ( ) => {
197197 prevEndpoints = JSON . stringify ( Object . keys ( db . data ) . sort ( ) )
198198 }
199-
200199 observer . onReadEnd = ( data ) => {
201200 if ( data === null ) {
202201 return
Original file line number Diff line number Diff line change @@ -113,31 +113,31 @@ function randomId(): string {
113113 return randomBytes ( 2 ) . toString ( 'hex' )
114114}
115115
116- function ensureItemsHaveIds ( items : Item [ ] ) : Item [ ] {
117- return items . map ( ( item ) => {
116+ function fixItemsIds ( items : Item [ ] ) {
117+ items . forEach ( ( item ) => {
118+ if ( typeof item [ 'id' ] === 'number' ) {
119+ item [ 'id' ] = item [ 'id' ] . toString ( )
120+ }
118121 if ( item [ 'id' ] === undefined ) {
119- return { ... item , id : randomId ( ) }
122+ item [ 'id' ] = randomId ( )
120123 }
121- return item
122124 } )
123125}
124126
125127// Ensure all items have an id
126- function ensureAllItemsHaveIds ( data : Data ) : Data {
127- return Object . entries ( data ) . reduce (
128- ( acc , [ key , value ] ) => ( {
129- ...acc ,
130- [ key ] : Array . isArray ( value ) ? ensureItemsHaveIds ( value ) : value ,
131- } ) ,
132- { } ,
133- )
128+ function fixAllItemsIds ( data : Data ) {
129+ Object . values ( data ) . forEach ( ( value ) => {
130+ if ( Array . isArray ( value ) ) {
131+ fixItemsIds ( value )
132+ }
133+ } )
134134}
135135
136136export class Service {
137137 #db: Low < Data >
138138
139139 constructor ( db : Low < Data > ) {
140- db . data = ensureAllItemsHaveIds ( db . data )
140+ fixAllItemsIds ( db . data )
141141 this . #db = db
142142 }
143143
You can’t perform that action at this time.
0 commit comments