@nordicsemiconductor/pc-nrfconnect-shared 103.0.0 → 105.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Changelog.md +22 -0
- package/coverage/cobertura-coverage.xml +250 -304
- package/nrfutil/device/batch.ts +147 -53
- package/nrfutil/device/batchTypes.ts +2 -2
- package/nrfutil/device/list.ts +24 -10
- package/nrfutil/device/program.ts +1 -1
- package/nrfutil/sandbox.ts +20 -0
- package/nrfutil/sandboxTypes.ts +6 -4
- package/package.json +1 -1
- package/src/App/app.scss +3 -2
- package/src/Device/deviceLister.ts +3 -1
- package/typings/generated/nrfutil/device/batch.d.ts +5 -7
- package/typings/generated/nrfutil/device/batch.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/batchTypes.d.ts +2 -2
- package/typings/generated/nrfutil/device/batchTypes.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/list.d.ts.map +1 -1
- package/typings/generated/nrfutil/device/program.d.ts +1 -0
- package/typings/generated/nrfutil/device/program.d.ts.map +1 -1
- package/typings/generated/nrfutil/sandbox.d.ts +1 -0
- package/typings/generated/nrfutil/sandbox.d.ts.map +1 -1
- package/typings/generated/nrfutil/sandboxTypes.d.ts +5 -4
- package/typings/generated/nrfutil/sandboxTypes.d.ts.map +1 -1
- package/typings/generated/src/Device/deviceLister.d.ts.map +1 -1
- package/nrfutil/device/eraseBatch.ts +0 -28
- package/nrfutil/device/firmwareReadBatch.ts +0 -42
- package/nrfutil/device/getCoreInfoBatch.ts +0 -29
- package/nrfutil/device/getFwInfoBatch.ts +0 -29
- package/nrfutil/device/getProtectionStatusBatch.ts +0 -32
- package/nrfutil/device/programBatch.ts +0 -69
- package/nrfutil/device/recoverBatch.ts +0 -28
- package/nrfutil/device/resetBatch.ts +0 -30
- package/typings/generated/nrfutil/device/eraseBatch.d.ts +0 -7
- package/typings/generated/nrfutil/device/eraseBatch.d.ts.map +0 -1
- package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts +0 -9
- package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts.map +0 -1
- package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts +0 -8
- package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts.map +0 -1
- package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts +0 -8
- package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts.map +0 -1
- package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts +0 -8
- package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts.map +0 -1
- package/typings/generated/nrfutil/device/programBatch.d.ts +0 -9
- package/typings/generated/nrfutil/device/programBatch.d.ts.map +0 -1
- package/typings/generated/nrfutil/device/recoverBatch.d.ts +0 -7
- package/typings/generated/nrfutil/device/recoverBatch.d.ts.map +0 -1
- package/typings/generated/nrfutil/device/resetBatch.d.ts +0 -8
- package/typings/generated/nrfutil/device/resetBatch.d.ts.map +0 -1
package/nrfutil/device/batch.ts
CHANGED
|
@@ -4,31 +4,37 @@
|
|
|
4
4
|
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import fs from 'fs';
|
|
8
|
+
import os from 'os';
|
|
9
|
+
import path from 'path';
|
|
10
|
+
import { v4 as uuid } from 'uuid';
|
|
11
|
+
|
|
7
12
|
import { TaskEnd } from '../sandboxTypes';
|
|
8
13
|
import { BatchOperationWrapper, Callbacks } from './batchTypes';
|
|
9
14
|
import {
|
|
10
15
|
DeviceCore,
|
|
16
|
+
DeviceTraits,
|
|
17
|
+
deviceTraitsToArgs,
|
|
11
18
|
getDeviceSandbox,
|
|
12
19
|
NrfutilDeviceWithSerialnumber,
|
|
13
20
|
ResetKind,
|
|
14
21
|
} from './common';
|
|
15
|
-
import
|
|
16
|
-
import firmwareReadBatch from './firmwareReadBatch';
|
|
22
|
+
import { DeviceBuffer } from './firmwareRead';
|
|
17
23
|
import { DeviceCoreInfo } from './getCoreInfo';
|
|
18
|
-
import getCoreInfoBatch from './getCoreInfoBatch';
|
|
19
24
|
import { FWInfo } from './getFwInfo';
|
|
20
|
-
import getFwInfoBatch from './getFwInfoBatch';
|
|
21
25
|
import { GetProtectionStatusResult } from './getProtectionStatus';
|
|
22
|
-
import
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
import {
|
|
27
|
+
FirmwareType,
|
|
28
|
+
ProgrammingOptions,
|
|
29
|
+
programmingOptionsToArgs,
|
|
30
|
+
} from './program';
|
|
27
31
|
|
|
28
|
-
type BatchOperationWrapperUnknown = BatchOperationWrapper<unknown
|
|
32
|
+
type BatchOperationWrapperUnknown = BatchOperationWrapper<unknown>;
|
|
33
|
+
type CallbacksUnknown = Callbacks<unknown>;
|
|
29
34
|
|
|
30
35
|
export class Batch {
|
|
31
|
-
private
|
|
36
|
+
private operationBatchGeneration: Promise<BatchOperationWrapperUnknown>[] =
|
|
37
|
+
[];
|
|
32
38
|
|
|
33
39
|
private collectOperations: {
|
|
34
40
|
callback: (completedTasks: TaskEnd<unknown>[]) => void;
|
|
@@ -36,24 +42,63 @@ export class Batch {
|
|
|
36
42
|
count: number;
|
|
37
43
|
}[] = [];
|
|
38
44
|
|
|
39
|
-
|
|
40
|
-
|
|
45
|
+
private enqueueBatchOperationObject(
|
|
46
|
+
command: string,
|
|
47
|
+
core: DeviceCore,
|
|
48
|
+
callbacks?: Callbacks<unknown>,
|
|
49
|
+
args: string[] = []
|
|
50
|
+
) {
|
|
51
|
+
const getPromise = async () => {
|
|
52
|
+
const box = await getDeviceSandbox();
|
|
53
|
+
|
|
54
|
+
const batchOperation =
|
|
55
|
+
await box.singleInfoOperationOptionalData<object>(
|
|
56
|
+
command,
|
|
57
|
+
undefined,
|
|
58
|
+
[
|
|
59
|
+
'--serial-number', // this is a workaround this param should now be needed with --generate
|
|
60
|
+
'123',
|
|
61
|
+
'--generate',
|
|
62
|
+
'--core',
|
|
63
|
+
core,
|
|
64
|
+
].concat(args)
|
|
65
|
+
);
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
operation: {
|
|
69
|
+
...batchOperation,
|
|
70
|
+
},
|
|
71
|
+
...callbacks,
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
this.operationBatchGeneration.push(getPromise());
|
|
41
76
|
}
|
|
42
77
|
|
|
43
78
|
public erase(core: DeviceCore, callbacks?: Callbacks) {
|
|
44
|
-
this.
|
|
45
|
-
|
|
79
|
+
this.enqueueBatchOperationObject(
|
|
80
|
+
'erase',
|
|
81
|
+
core,
|
|
82
|
+
callbacks as CallbacksUnknown
|
|
46
83
|
);
|
|
47
84
|
|
|
48
85
|
return this;
|
|
49
86
|
}
|
|
50
87
|
|
|
51
88
|
public firmwareRead(core: DeviceCore, callbacks?: Callbacks<Buffer>) {
|
|
52
|
-
this.
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
89
|
+
this.enqueueBatchOperationObject('fw-read', core, {
|
|
90
|
+
...callbacks,
|
|
91
|
+
onTaskEnd: (taskEnd: TaskEnd<DeviceBuffer>) => {
|
|
92
|
+
if (taskEnd.result === 'success' && taskEnd.data)
|
|
93
|
+
callbacks?.onTaskEnd?.({
|
|
94
|
+
...taskEnd,
|
|
95
|
+
data: Buffer.from(taskEnd.data.buffer, 'base64'),
|
|
96
|
+
});
|
|
97
|
+
else {
|
|
98
|
+
callbacks?.onException?.(new Error('Read failed'));
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
} as CallbacksUnknown);
|
|
57
102
|
|
|
58
103
|
return this;
|
|
59
104
|
}
|
|
@@ -62,20 +107,20 @@ export class Batch {
|
|
|
62
107
|
core: DeviceCore,
|
|
63
108
|
callbacks?: Callbacks<DeviceCoreInfo>
|
|
64
109
|
) {
|
|
65
|
-
this.
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
110
|
+
this.enqueueBatchOperationObject(
|
|
111
|
+
'core-info',
|
|
112
|
+
core,
|
|
113
|
+
callbacks as CallbacksUnknown
|
|
69
114
|
);
|
|
70
115
|
|
|
71
116
|
return this;
|
|
72
117
|
}
|
|
73
118
|
|
|
74
119
|
public getFwInfo(core: DeviceCore, callbacks?: Callbacks<FWInfo>) {
|
|
75
|
-
this.
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
120
|
+
this.enqueueBatchOperationObject(
|
|
121
|
+
'fw-info',
|
|
122
|
+
core,
|
|
123
|
+
callbacks as CallbacksUnknown
|
|
79
124
|
);
|
|
80
125
|
|
|
81
126
|
return this;
|
|
@@ -85,10 +130,10 @@ export class Batch {
|
|
|
85
130
|
core: DeviceCore,
|
|
86
131
|
callbacks?: Callbacks<GetProtectionStatusResult>
|
|
87
132
|
) {
|
|
88
|
-
this.
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
133
|
+
this.enqueueBatchOperationObject(
|
|
134
|
+
'protection-get',
|
|
135
|
+
core,
|
|
136
|
+
callbacks as CallbacksUnknown
|
|
92
137
|
);
|
|
93
138
|
|
|
94
139
|
return this;
|
|
@@ -98,32 +143,69 @@ export class Batch {
|
|
|
98
143
|
firmware: FirmwareType,
|
|
99
144
|
core: DeviceCore,
|
|
100
145
|
programmingOptions?: ProgrammingOptions,
|
|
146
|
+
deviceTraits?: DeviceTraits,
|
|
101
147
|
callbacks?: Callbacks
|
|
102
148
|
) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
149
|
+
let args = [
|
|
150
|
+
...(deviceTraits ? deviceTraitsToArgs(deviceTraits) : []),
|
|
151
|
+
...programmingOptionsToArgs(programmingOptions),
|
|
152
|
+
];
|
|
153
|
+
let newCallbacks = { ...callbacks };
|
|
154
|
+
|
|
155
|
+
if (typeof firmware === 'string') {
|
|
156
|
+
args = ['--firmware', firmware].concat(args);
|
|
157
|
+
} else {
|
|
158
|
+
const saveTemp = (): string => {
|
|
159
|
+
let tempFilePath;
|
|
160
|
+
do {
|
|
161
|
+
tempFilePath = path.join(
|
|
162
|
+
os.tmpdir(),
|
|
163
|
+
`${uuid()}.${firmware.type}`
|
|
164
|
+
);
|
|
165
|
+
} while (fs.existsSync(tempFilePath));
|
|
166
|
+
|
|
167
|
+
fs.writeFileSync(tempFilePath, firmware.buffer);
|
|
168
|
+
|
|
169
|
+
return tempFilePath;
|
|
170
|
+
};
|
|
171
|
+
const tempFilePath = saveTemp();
|
|
172
|
+
args = ['--firmware', tempFilePath].concat(args);
|
|
173
|
+
|
|
174
|
+
newCallbacks = {
|
|
175
|
+
...callbacks,
|
|
176
|
+
onTaskEnd: (taskEnd: TaskEnd<void>) => {
|
|
177
|
+
fs.unlinkSync(tempFilePath);
|
|
178
|
+
callbacks?.onTaskEnd?.(taskEnd);
|
|
179
|
+
},
|
|
180
|
+
} as CallbacksUnknown;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
this.enqueueBatchOperationObject(
|
|
184
|
+
'program',
|
|
185
|
+
core,
|
|
186
|
+
newCallbacks as CallbacksUnknown,
|
|
187
|
+
args
|
|
108
188
|
);
|
|
109
189
|
|
|
110
190
|
return this;
|
|
111
191
|
}
|
|
112
192
|
|
|
113
193
|
public recover(core: DeviceCore, callbacks?: Callbacks) {
|
|
114
|
-
this.
|
|
115
|
-
|
|
194
|
+
this.enqueueBatchOperationObject(
|
|
195
|
+
'recover',
|
|
196
|
+
core,
|
|
197
|
+
callbacks as CallbacksUnknown
|
|
116
198
|
);
|
|
117
199
|
|
|
118
200
|
return this;
|
|
119
201
|
}
|
|
120
202
|
|
|
121
203
|
public reset(core: DeviceCore, reset?: ResetKind, callbacks?: Callbacks) {
|
|
122
|
-
this.
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
204
|
+
this.enqueueBatchOperationObject(
|
|
205
|
+
'reset',
|
|
206
|
+
core,
|
|
207
|
+
callbacks as CallbacksUnknown,
|
|
208
|
+
reset ? ['--reset-kind', reset] : undefined
|
|
127
209
|
);
|
|
128
210
|
|
|
129
211
|
return this;
|
|
@@ -135,7 +217,7 @@ export class Batch {
|
|
|
135
217
|
) {
|
|
136
218
|
this.collectOperations.push({
|
|
137
219
|
callback,
|
|
138
|
-
operationId: this.
|
|
220
|
+
operationId: this.operationBatchGeneration.length - 1,
|
|
139
221
|
count,
|
|
140
222
|
});
|
|
141
223
|
|
|
@@ -149,9 +231,21 @@ export class Batch {
|
|
|
149
231
|
let beginId = 0;
|
|
150
232
|
let endId = 0;
|
|
151
233
|
const results: TaskEnd<unknown>[] = [];
|
|
234
|
+
const operations: BatchOperationWrapperUnknown[] = [];
|
|
235
|
+
|
|
236
|
+
const promiseResults =
|
|
237
|
+
await Promise.allSettled<BatchOperationWrapperUnknown>(
|
|
238
|
+
this.operationBatchGeneration
|
|
239
|
+
);
|
|
240
|
+
promiseResults.forEach(r => {
|
|
241
|
+
if (r.status === 'rejected') {
|
|
242
|
+
throw r.reason;
|
|
243
|
+
}
|
|
244
|
+
operations.push(r.value);
|
|
245
|
+
});
|
|
152
246
|
|
|
153
|
-
const
|
|
154
|
-
operations:
|
|
247
|
+
const batchOperation = {
|
|
248
|
+
operations: operations.map((operation, index) => ({
|
|
155
249
|
operationId: index.toString(),
|
|
156
250
|
...operation.operation,
|
|
157
251
|
})),
|
|
@@ -165,21 +259,21 @@ export class Batch {
|
|
|
165
259
|
'--serial-number',
|
|
166
260
|
device.serialNumber,
|
|
167
261
|
'--batch-json',
|
|
168
|
-
JSON.stringify(
|
|
262
|
+
JSON.stringify(batchOperation),
|
|
169
263
|
],
|
|
170
264
|
(progress, task) => {
|
|
171
265
|
if (task) {
|
|
172
|
-
|
|
266
|
+
operations[endId].onProgress?.(progress, task);
|
|
173
267
|
}
|
|
174
268
|
},
|
|
175
269
|
onTaskBegin => {
|
|
176
270
|
beginId += 1;
|
|
177
|
-
|
|
271
|
+
operations[endId].onTaskBegin?.(onTaskBegin);
|
|
178
272
|
},
|
|
179
273
|
taskEnd => {
|
|
180
274
|
results.push(taskEnd);
|
|
181
275
|
|
|
182
|
-
|
|
276
|
+
operations[endId].onTaskEnd?.(taskEnd);
|
|
183
277
|
|
|
184
278
|
this.collectOperations
|
|
185
279
|
.filter(operation => operation.operationId === endId)
|
|
@@ -204,12 +298,12 @@ export class Batch {
|
|
|
204
298
|
.map(e => `error: ${e.error}, message: ${e.message}`)
|
|
205
299
|
.join('\n')}`
|
|
206
300
|
);
|
|
207
|
-
|
|
301
|
+
operations[endId].onException?.(error);
|
|
208
302
|
throw error;
|
|
209
303
|
}
|
|
210
304
|
} catch (error) {
|
|
211
305
|
if (beginId !== endId) {
|
|
212
|
-
|
|
306
|
+
operations[beginId].onException?.(error as Error);
|
|
213
307
|
}
|
|
214
308
|
throw error;
|
|
215
309
|
}
|
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
ProgrammingOptions,
|
|
14
14
|
} from './program';
|
|
15
15
|
|
|
16
|
-
export interface BatchOperationWrapper<
|
|
17
|
-
operation:
|
|
16
|
+
export interface BatchOperationWrapper<T = void> {
|
|
17
|
+
operation: object;
|
|
18
18
|
onProgress?: (progress: Progress, task?: Task) => void;
|
|
19
19
|
onTaskBegin?: TaskBeginCallback;
|
|
20
20
|
onTaskEnd?: TaskEndCallback<T>;
|
package/nrfutil/device/list.ts
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
+
import logger from '../../src/logging';
|
|
7
8
|
import {
|
|
8
9
|
DeviceTraits,
|
|
9
10
|
deviceTraitsToArgs,
|
|
@@ -39,8 +40,7 @@ export default async (
|
|
|
39
40
|
},
|
|
40
41
|
timeout = 3000
|
|
41
42
|
) => {
|
|
42
|
-
const args: string[] =
|
|
43
|
-
args.concat(deviceTraitsToArgs(traits));
|
|
43
|
+
const args: string[] = deviceTraitsToArgs(traits);
|
|
44
44
|
|
|
45
45
|
if (onHotplugEvent) {
|
|
46
46
|
args.push('--hotplug');
|
|
@@ -51,6 +51,16 @@ export default async (
|
|
|
51
51
|
|
|
52
52
|
const onData = (data: HotplugEvent | ListEvent) => {
|
|
53
53
|
if (isListEvent(data)) {
|
|
54
|
+
data.devices
|
|
55
|
+
.filter(d => !d.serialNumber)
|
|
56
|
+
.forEach(d => {
|
|
57
|
+
logger.warn(
|
|
58
|
+
`Device was skipped as it has no Serial number ${JSON.stringify(
|
|
59
|
+
d
|
|
60
|
+
)}`
|
|
61
|
+
);
|
|
62
|
+
});
|
|
63
|
+
|
|
54
64
|
onEnumerated(
|
|
55
65
|
data.devices.filter(
|
|
56
66
|
d => d.serialNumber
|
|
@@ -64,14 +74,18 @@ export default async (
|
|
|
64
74
|
return;
|
|
65
75
|
}
|
|
66
76
|
|
|
67
|
-
if (
|
|
68
|
-
data.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
77
|
+
if (data.event === 'Arrived' && data.device) {
|
|
78
|
+
if (data.device.serialNumber) {
|
|
79
|
+
onHotplugEvent.onDeviceArrived(
|
|
80
|
+
data.device as NrfutilDeviceWithSerialnumber
|
|
81
|
+
);
|
|
82
|
+
} else {
|
|
83
|
+
logger.warn(
|
|
84
|
+
`Device was skipped as it has no Serial number ${JSON.stringify(
|
|
85
|
+
data.device
|
|
86
|
+
)}`
|
|
87
|
+
);
|
|
88
|
+
}
|
|
75
89
|
} else if (data.event === 'Left') {
|
|
76
90
|
onHotplugEvent.onDeviceLeft(data.id);
|
|
77
91
|
}
|
|
@@ -72,7 +72,7 @@ const deviceTraitsToArgs = (traits: DeviceTraits) => {
|
|
|
72
72
|
return args;
|
|
73
73
|
};
|
|
74
74
|
|
|
75
|
-
const programmingOptionsToArgs = (options?: ProgrammingOptions) => {
|
|
75
|
+
export const programmingOptionsToArgs = (options?: ProgrammingOptions) => {
|
|
76
76
|
if (!options) return [];
|
|
77
77
|
|
|
78
78
|
const args: string[] = [];
|
package/nrfutil/sandbox.ts
CHANGED
|
@@ -449,6 +449,26 @@ export class NrfutilSandbox {
|
|
|
449
449
|
throw new Error('Unexpected result');
|
|
450
450
|
};
|
|
451
451
|
|
|
452
|
+
public singleInfoOperationOptionalData = async <T = void>(
|
|
453
|
+
command: string,
|
|
454
|
+
controller?: AbortController,
|
|
455
|
+
args: string[] = []
|
|
456
|
+
) => {
|
|
457
|
+
const results = await this.execSubcommand<T>(
|
|
458
|
+
command,
|
|
459
|
+
args,
|
|
460
|
+
undefined,
|
|
461
|
+
undefined,
|
|
462
|
+
undefined,
|
|
463
|
+
controller
|
|
464
|
+
);
|
|
465
|
+
|
|
466
|
+
if (results.info.length === 1) {
|
|
467
|
+
return results.info[0];
|
|
468
|
+
}
|
|
469
|
+
throw new Error('Unexpected result');
|
|
470
|
+
};
|
|
471
|
+
|
|
452
472
|
public onLogging = (handler: (logging: LogMessage) => void) => {
|
|
453
473
|
this.onLoggingHandlers.push(handler);
|
|
454
474
|
|
package/nrfutil/sandboxTypes.ts
CHANGED
|
@@ -82,6 +82,11 @@ type NrfutilJsonBegin = {
|
|
|
82
82
|
data: TaskBegin;
|
|
83
83
|
};
|
|
84
84
|
|
|
85
|
+
type NrfutilJsonInfo<T> = {
|
|
86
|
+
type: 'info';
|
|
87
|
+
data: T;
|
|
88
|
+
};
|
|
89
|
+
|
|
85
90
|
type NrfutilJsonBatch<T = unknown> = {
|
|
86
91
|
batch: {
|
|
87
92
|
id: string;
|
|
@@ -98,10 +103,7 @@ export type NrfutilJsonBatchUpdate<T = unknown> = {
|
|
|
98
103
|
};
|
|
99
104
|
|
|
100
105
|
export type NrfutilJson<T = unknown> =
|
|
101
|
-
|
|
|
102
|
-
type: 'info';
|
|
103
|
-
data: T;
|
|
104
|
-
}
|
|
106
|
+
| NrfutilJsonInfo<T>
|
|
105
107
|
| NrfutilJsonBegin
|
|
106
108
|
| NrfutilJsonEnd<T>
|
|
107
109
|
| NrfutilJsonProgress
|
package/package.json
CHANGED
package/src/App/app.scss
CHANGED
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
|
|
68
68
|
.core19-side-panel-container {
|
|
69
69
|
width: $side-panel-width;
|
|
70
|
-
padding: 0 24px;
|
|
70
|
+
padding: 0 10px 0 24px; // 24-14(scrollbar width)=10
|
|
71
71
|
background-color: $gray-50;
|
|
72
72
|
height: 100%;
|
|
73
73
|
margin-left: 0;
|
|
@@ -77,7 +77,8 @@
|
|
|
77
77
|
margin-left: -$side-panel-width;
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
overflow-y:
|
|
80
|
+
overflow-y: scroll;
|
|
81
|
+
|
|
81
82
|
@include scrollbars($gray-50);
|
|
82
83
|
}
|
|
83
84
|
}
|
|
@@ -335,7 +335,9 @@ export const startWatchingDevices =
|
|
|
335
335
|
const operation = await NrfutilDeviceLib.list(
|
|
336
336
|
deviceListing,
|
|
337
337
|
d => d.forEach(onDeviceArrived),
|
|
338
|
-
|
|
338
|
+
error => {
|
|
339
|
+
logger.error(error);
|
|
340
|
+
},
|
|
339
341
|
{ onDeviceArrived, onDeviceLeft }
|
|
340
342
|
);
|
|
341
343
|
|
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { TaskEnd } from '../sandboxTypes';
|
|
3
|
-
import {
|
|
4
|
-
import { DeviceCore, NrfutilDeviceWithSerialnumber, ResetKind } from './common';
|
|
3
|
+
import { Callbacks } from './batchTypes';
|
|
4
|
+
import { DeviceCore, DeviceTraits, NrfutilDeviceWithSerialnumber, ResetKind } from './common';
|
|
5
5
|
import { DeviceCoreInfo } from './getCoreInfo';
|
|
6
6
|
import { FWInfo } from './getFwInfo';
|
|
7
7
|
import { GetProtectionStatusResult } from './getProtectionStatus';
|
|
8
8
|
import { FirmwareType, ProgrammingOptions } from './program';
|
|
9
|
-
type BatchOperationWrapperUnknown = BatchOperationWrapper<unknown, unknown>;
|
|
10
9
|
export declare class Batch {
|
|
11
|
-
private
|
|
10
|
+
private operationBatchGeneration;
|
|
12
11
|
private collectOperations;
|
|
13
|
-
|
|
12
|
+
private enqueueBatchOperationObject;
|
|
14
13
|
erase(core: DeviceCore, callbacks?: Callbacks): this;
|
|
15
14
|
firmwareRead(core: DeviceCore, callbacks?: Callbacks<Buffer>): this;
|
|
16
15
|
getCoreInfo(core: DeviceCore, callbacks?: Callbacks<DeviceCoreInfo>): this;
|
|
17
16
|
getFwInfo(core: DeviceCore, callbacks?: Callbacks<FWInfo>): this;
|
|
18
17
|
getProtectionStatus(core: DeviceCore, callbacks?: Callbacks<GetProtectionStatusResult>): this;
|
|
19
|
-
program(firmware: FirmwareType, core: DeviceCore, programmingOptions?: ProgrammingOptions, callbacks?: Callbacks): this;
|
|
18
|
+
program(firmware: FirmwareType, core: DeviceCore, programmingOptions?: ProgrammingOptions, deviceTraits?: DeviceTraits, callbacks?: Callbacks): this;
|
|
20
19
|
recover(core: DeviceCore, callbacks?: Callbacks): this;
|
|
21
20
|
reset(core: DeviceCore, reset?: ResetKind, callbacks?: Callbacks): this;
|
|
22
21
|
collect(count: number, callback: (completedTasks: TaskEnd<unknown>[]) => void): this;
|
|
23
22
|
run(device: NrfutilDeviceWithSerialnumber, controller?: AbortController | undefined): Promise<unknown[]>;
|
|
24
23
|
}
|
|
25
|
-
export {};
|
|
26
24
|
//# sourceMappingURL=batch.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/batch.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"batch.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/batch.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAyB,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACH,UAAU,EACV,YAAY,EAGZ,6BAA6B,EAC7B,SAAS,EACZ,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACH,YAAY,EACZ,kBAAkB,EAErB,MAAM,WAAW,CAAC;AAKnB,qBAAa,KAAK;IACd,OAAO,CAAC,wBAAwB,CACzB;IAEP,OAAO,CAAC,iBAAiB,CAIhB;IAET,OAAO,CAAC,2BAA2B;IAiC5B,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAU7C,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;IAkB5D,WAAW,CACd,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC;IAWlC,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;IAUzD,mBAAmB,CACtB,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,SAAS,CAAC,yBAAyB,CAAC;IAW7C,OAAO,CACV,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,UAAU,EAChB,kBAAkB,CAAC,EAAE,kBAAkB,EACvC,YAAY,CAAC,EAAE,YAAY,EAC3B,SAAS,CAAC,EAAE,SAAS;IA8ClB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAU/C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,SAAS;IAWhE,OAAO,CACV,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,IAAI;IAW7C,GAAG,CACZ,MAAM,EAAE,6BAA6B,EACrC,UAAU,CAAC,EAAE,eAAe,GAAG,SAAS,GACzC,OAAO,CAAC,OAAO,EAAE,CAAC;CAmFxB"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Progress, Task, TaskBegin, TaskEnd } from '../sandboxTypes';
|
|
2
2
|
import { DeviceCore, ResetKind } from './common';
|
|
3
3
|
import { ProgrammingOptions } from './program';
|
|
4
|
-
export interface BatchOperationWrapper<
|
|
5
|
-
operation:
|
|
4
|
+
export interface BatchOperationWrapper<T = void> {
|
|
5
|
+
operation: object;
|
|
6
6
|
onProgress?: (progress: Progress, task?: Task) => void;
|
|
7
7
|
onTaskBegin?: TaskBeginCallback;
|
|
8
8
|
onTaskEnd?: TaskEndCallback<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batchTypes.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/batchTypes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAIH,kBAAkB,EACrB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,qBAAqB,CAAC,
|
|
1
|
+
{"version":3,"file":"batchTypes.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/batchTypes.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAIH,kBAAkB,EACrB,MAAM,WAAW,CAAC;AAEnB,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,IAAI;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IACvD,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,GAAG,IAAI,IAAI;IAC9B,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,SAAS,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;IAC/B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC;IACvD,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,eAAe,GACrB,+BAA+B,GAC/B,2BAA2B,GAC3B,yBAAyB,CAAC;AAEhC,eAAO,MAAM,qBAAqB,UAAW,UAAU,0GAStD,CAAC;AAEF,eAAO,MAAM,6BAA6B,wBACjB,kBAAkB;;;;;;;;;;;;;;;;;;aA0B1C,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,KAAK,CAAC,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACnC,IAAI,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IAClC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;CACL;AAED,MAAM,WAAW,cAAc;IAC3B,IAAI,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,oBAAoB;IACjC,IAAI,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,CAAC,CAAC;CAChB;AAED,MAAM,MAAM,cAAc,GACpB,oBAAoB,GACpB,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,qBAAqB,GACrB,cAAc,GACd,oBAAoB,GACpB,kBAAkB,CAAC;AAEzB,MAAM,MAAM,eAAe,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;AAClE,MAAM,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/list.ts"],"names":[],"mappings":"AAOA,OAAO,EACH,YAAY,EAGZ,aAAa,EACb,6BAA6B,EAChC,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,EAAE,aAAa,CAAC;CAC1B;AAED,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,aAAa,EAAE,CAAC;CAC5B;iCAUW,YAAY,0BACI,6BAA6B,EAAE,KAAK,IAAI,mBAC/C,KAAK,KAAK,IAAI;8BAED,6BAA6B,KAAK,IAAI;uBAC7C,MAAM,KAAK,IAAI;;;;;;AAN1C,wBAkEE"}
|
|
@@ -22,6 +22,7 @@ export interface NordicDfuProgrammingOptions {
|
|
|
22
22
|
export declare const isJLinkProgrammingOptions: (options: ProgrammingOptions) => options is JLinkProgrammingOptions;
|
|
23
23
|
export declare const isMcuBootProgrammingOptions: (options: ProgrammingOptions) => options is McuBootProgrammingOptions;
|
|
24
24
|
export declare const isNordicDfuProgrammingOptions: (options: ProgrammingOptions) => options is NordicDfuProgrammingOptions;
|
|
25
|
+
export declare const programmingOptionsToArgs: (options?: ProgrammingOptions) => string[];
|
|
25
26
|
declare const _default: (device: NrfutilDeviceWithSerialnumber, firmware: FirmwareType, onProgress?: ((progress: Progress) => void) | undefined, core?: DeviceCore, programmingOptions?: ProgrammingOptions, controller?: AbortController) => Promise<void>;
|
|
26
27
|
export default _default;
|
|
27
28
|
//# sourceMappingURL=program.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/program.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACH,UAAU,EAGV,6BAA6B,EAC7B,SAAS,EACZ,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG,MAAM,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GACxB,uBAAuB,GACvB,yBAAyB,GACzB,2BAA2B,CAAC;AAElC,MAAM,WAAW,uBAAuB;IACpC,aAAa,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IAC3C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;CAC1D;AAED,MAAM,WAAW,yBAAyB;IACtC,WAAW,CAAC,EAAE,6BAA6B,GAAG,6BAA6B,CAAC;IAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B;IACxC,WAAW,CAAC,EAAE,6BAA6B,GAAG,6BAA6B,CAAC;CAC/E;AAED,eAAO,MAAM,yBAAyB,YACzB,kBAAkB,uCAEqC,CAAC;AAErE,eAAO,MAAM,2BAA2B,YAC3B,kBAAkB,yCAE4C,CAAC;AAE5E,eAAO,MAAM,6BAA6B,YAC7B,kBAAkB,2CAGuC,CAAC;
|
|
1
|
+
{"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/program.ts"],"names":[],"mappings":";AAWA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACH,UAAU,EAGV,6BAA6B,EAC7B,SAAS,EACZ,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,CAAC;AAC3C,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,cAAc,CAAA;CAAE,GAAG,MAAM,CAAC;AAE7E,MAAM,MAAM,kBAAkB,GACxB,uBAAuB,GACvB,yBAAyB,GACzB,2BAA2B,CAAC;AAElC,MAAM,WAAW,uBAAuB;IACpC,aAAa,CAAC,EAAE,WAAW,GAAG,YAAY,CAAC;IAC3C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,GAAG,aAAa,GAAG,aAAa,CAAC;CAC1D;AAED,MAAM,WAAW,yBAAyB;IACtC,WAAW,CAAC,EAAE,6BAA6B,GAAG,6BAA6B,CAAC;IAC5E,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,2BAA2B;IACxC,WAAW,CAAC,EAAE,6BAA6B,GAAG,6BAA6B,CAAC;CAC/E;AAED,eAAO,MAAM,yBAAyB,YACzB,kBAAkB,uCAEqC,CAAC;AAErE,eAAO,MAAM,2BAA2B,YAC3B,kBAAkB,yCAE4C,CAAC;AAE5E,eAAO,MAAM,6BAA6B,YAC7B,kBAAkB,2CAGuC,CAAC;AAiBvE,eAAO,MAAM,wBAAwB,aAAc,kBAAkB,aAyBpE,CAAC;iCA2DU,6BAA6B,YAC3B,YAAY,2BACE,QAAQ,KAAK,IAAI,sBAClC,UAAU,uBACI,kBAAkB,eAC1B,eAAe;AANhC,wBA4BE"}
|
|
@@ -28,6 +28,7 @@ export declare class NrfutilSandbox {
|
|
|
28
28
|
};
|
|
29
29
|
singleTaskEndOperationWithData: <T>(command: string, onProgress?: ((progress: Progress, task?: Task) => void) | undefined, controller?: AbortController, args?: string[]) => Promise<NonNullable<Awaited<T>>>;
|
|
30
30
|
singleTaskEndOperationOptionalData: <T = void>(command: string, onProgress?: ((progress: Progress, task?: Task) => void) | undefined, controller?: AbortController, args?: string[]) => Promise<T | undefined>;
|
|
31
|
+
singleInfoOperationOptionalData: <T = void>(command: string, controller?: AbortController, args?: string[]) => Promise<T>;
|
|
31
32
|
onLogging: (handler: (logging: LogMessage) => void) => () => ((logging: LogMessage) => void)[];
|
|
32
33
|
setLogLevel: (level: LogLevel) => void;
|
|
33
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../nrfutil/sandbox.ts"],"names":[],"mappings":"AAcA,OAAO,EACH,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EAGb,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACV,MAAM,gBAAgB,CAAC;AAcxB,QAAA,MAAM,UAAU,YAAa,MAAM,UAAU,MAAM,WAAW,MAAM;;;CAqBnE,CAAC;AAgDF,qBAAa,cAAc;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC,EAAE,CAAM;IAC1D,QAAQ,EAAE,QAAQ,CAAU;IAC5B,GAAG,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ5D,OAAO,CAAC,kBAAkB,CAOxB;IAEK,gBAAgB,+BAUrB;IAEK,kBAAkB,yBAmBvB;IAEK,cAAc,4BACO,QAAQ,SAAS,IAAI,KAAK,IAAI,gCAsBxD;IAEF,OAAO,CAAC,WAAW,CAqEjB;IAEK,cAAc,oBACR,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe;;;OAS1B;IAEN,OAAO,CAAC,WAAW,CAuEZ;IAEA,wBAAwB,oBAClB,MAAM,QACT,MAAM,EAAE;yBA2CO,MAAM,IAAI;;qCAKE,KAAK,KAAK,IAAI,qBA3Cf,KAAK,KAAK,IAAI;MAkDhD;IAEK,8BAA8B,eACxB,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,sCAahB;IAEK,kCAAkC,sBAC5B,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,4BAehB;IAEK,SAAS,sBAAuB,UAAU,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../../nrfutil/sandbox.ts"],"names":[],"mappings":"AAcA,OAAO,EACH,cAAc,EACd,QAAQ,EACR,UAAU,EACV,aAAa,EAGb,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,OAAO,EACV,MAAM,gBAAgB,CAAC;AAcxB,QAAA,MAAM,UAAU,YAAa,MAAM,UAAU,MAAM,WAAW,MAAM;;;CAqBnE,CAAC;AAgDF,qBAAa,cAAc;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC,EAAE,CAAM;IAC1D,QAAQ,EAAE,QAAQ,CAAU;IAC5B,GAAG,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAQ5D,OAAO,CAAC,kBAAkB,CAOxB;IAEK,gBAAgB,+BAUrB;IAEK,kBAAkB,yBAmBvB;IAEK,cAAc,4BACO,QAAQ,SAAS,IAAI,KAAK,IAAI,gCAsBxD;IAEF,OAAO,CAAC,WAAW,CAqEjB;IAEK,cAAc,oBACR,MAAM,QACT,MAAM,EAAE,2BACU,QAAQ,SAAS,IAAI,KAAK,IAAI,0CAC5B,SAAS,KAAK,IAAI,0DACF,IAAI,4BACjC,eAAe;;;OAS1B;IAEN,OAAO,CAAC,WAAW,CAuEZ;IAEA,wBAAwB,oBAClB,MAAM,QACT,MAAM,EAAE;yBA2CO,MAAM,IAAI;;qCAKE,KAAK,KAAK,IAAI,qBA3Cf,KAAK,KAAK,IAAI;MAkDhD;IAEK,8BAA8B,eACxB,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,sCAahB;IAEK,kCAAkC,sBAC5B,MAAM,2BACS,QAAQ,SAAS,IAAI,KAAK,IAAI,4BACzC,eAAe,SACtB,MAAM,EAAE,4BAehB;IAEK,+BAA+B,sBACzB,MAAM,eACF,eAAe,SACtB,MAAM,EAAE,gBAehB;IAEK,SAAS,sBAAuB,UAAU,KAAK,IAAI,sBAvW5B,UAAU,KAAK,IAAI,IA+W/C;IAEK,WAAW,UAAW,QAAQ,UAEnC;CACL;kCAGY,MAAM,UACP,MAAM,YACJ,MAAM,2BACQ,QAAQ,SAAS,IAAI,KAAK,IAAI;AAJ1D,wBAyCE"}
|
|
@@ -59,6 +59,10 @@ type NrfutilJsonBegin = {
|
|
|
59
59
|
type: 'task_begin';
|
|
60
60
|
data: TaskBegin;
|
|
61
61
|
};
|
|
62
|
+
type NrfutilJsonInfo<T> = {
|
|
63
|
+
type: 'info';
|
|
64
|
+
data: T;
|
|
65
|
+
};
|
|
62
66
|
type NrfutilJsonBatch<T = unknown> = {
|
|
63
67
|
batch: {
|
|
64
68
|
id: string;
|
|
@@ -72,10 +76,7 @@ export type NrfutilJsonBatchUpdate<T = unknown> = {
|
|
|
72
76
|
type: 'batch_update';
|
|
73
77
|
data: NrfutilJsonBatch<T>;
|
|
74
78
|
};
|
|
75
|
-
export type NrfutilJson<T = unknown> =
|
|
76
|
-
type: 'info';
|
|
77
|
-
data: T;
|
|
78
|
-
} | NrfutilJsonBegin | NrfutilJsonEnd<T> | NrfutilJsonProgress | NrfutilJsonLog | NrfutilJsonBatchUpdate<T>;
|
|
79
|
+
export type NrfutilJson<T = unknown> = NrfutilJsonInfo<T> | NrfutilJsonBegin | NrfutilJsonEnd<T> | NrfutilJsonProgress | NrfutilJsonLog | NrfutilJsonBatchUpdate<T>;
|
|
79
80
|
export type Progress = {
|
|
80
81
|
totalProgressPercentage: number;
|
|
81
82
|
stepProgressPercentage: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandboxTypes.d.ts","sourceRoot":"","sources":["../../../nrfutil/sandboxTypes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"sandboxTypes.d.ts","sourceRoot":"","sources":["../../../nrfutil/sandboxTypes.ts"],"names":[],"mappings":"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"}
|