File tree Expand file tree Collapse file tree 2 files changed +12
-12
lines changed Expand file tree Collapse file tree 2 files changed +12
-12
lines changed Original file line number Diff line number Diff line change @@ -133,14 +133,7 @@ export abstract class LabWidgetManager extends ManagerBase
133
133
) {
134
134
const data = msg . content . data as any ;
135
135
const buffer_paths = data . buffer_paths || [ ] ;
136
- // Make sure the buffers are DataViews
137
- const buffers = ( msg . buffers || [ ] ) . map ( b => {
138
- if ( b instanceof DataView ) {
139
- return b ;
140
- } else {
141
- return new DataView ( b instanceof ArrayBuffer ? b : b . buffer ) ;
142
- }
143
- } ) ;
136
+ const buffers = msg . buffers || [ ] ;
144
137
put_buffers ( data . state , buffer_paths , buffers ) ;
145
138
info . resolve ( { comm, msg } ) ;
146
139
}
Original file line number Diff line number Diff line change @@ -100,18 +100,25 @@ export function reject(message: string, log: boolean) {
100
100
export function put_buffers (
101
101
state : Dict < BufferJSON > ,
102
102
buffer_paths : ( string | number ) [ ] [ ] ,
103
- buffers : DataView [ ]
103
+ buffers : any [ ]
104
104
) : void {
105
105
for ( let i = 0 ; i < buffer_paths . length ; i ++ ) {
106
106
const buffer_path = buffer_paths [ i ] ;
107
- // say we want to set state[x][y][z] = buffers[i]
107
+ // make sure the buffers are DataViews
108
+ let buffer = buffers [ i ] ;
109
+ if ( ! ( buffer instanceof DataView ) ) {
110
+ buffer = new DataView (
111
+ buffer instanceof ArrayBuffer ? buffer : buffer . buffer
112
+ ) ;
113
+ }
114
+ // say we want to set state[x][y][z] = buffer
108
115
let obj = state as any ;
109
116
// we first get obj = state[x][y]
110
117
for ( let j = 0 ; j < buffer_path . length - 1 ; j ++ ) {
111
118
obj = obj [ buffer_path [ j ] ] ;
112
119
}
113
- // and then set: obj[z] = buffers[i]
114
- obj [ buffer_path [ buffer_path . length - 1 ] ] = buffers [ i ] ;
120
+ // and then set: obj[z] = buffer
121
+ obj [ buffer_path [ buffer_path . length - 1 ] ] = buffer ;
115
122
}
116
123
}
117
124
You can’t perform that action at this time.
0 commit comments