@nordicsemiconductor/pc-nrfconnect-shared 103.0.0 → 104.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.
Files changed (44) hide show
  1. package/Changelog.md +12 -0
  2. package/coverage/cobertura-coverage.xml +192 -268
  3. package/nrfutil/device/batch.ts +147 -53
  4. package/nrfutil/device/batchTypes.ts +2 -2
  5. package/nrfutil/device/list.ts +1 -2
  6. package/nrfutil/device/program.ts +1 -1
  7. package/nrfutil/sandbox.ts +20 -0
  8. package/nrfutil/sandboxTypes.ts +6 -4
  9. package/package.json +1 -1
  10. package/typings/generated/nrfutil/device/batch.d.ts +5 -7
  11. package/typings/generated/nrfutil/device/batch.d.ts.map +1 -1
  12. package/typings/generated/nrfutil/device/batchTypes.d.ts +2 -2
  13. package/typings/generated/nrfutil/device/batchTypes.d.ts.map +1 -1
  14. package/typings/generated/nrfutil/device/list.d.ts.map +1 -1
  15. package/typings/generated/nrfutil/device/program.d.ts +1 -0
  16. package/typings/generated/nrfutil/device/program.d.ts.map +1 -1
  17. package/typings/generated/nrfutil/sandbox.d.ts +1 -0
  18. package/typings/generated/nrfutil/sandbox.d.ts.map +1 -1
  19. package/typings/generated/nrfutil/sandboxTypes.d.ts +5 -4
  20. package/typings/generated/nrfutil/sandboxTypes.d.ts.map +1 -1
  21. package/nrfutil/device/eraseBatch.ts +0 -28
  22. package/nrfutil/device/firmwareReadBatch.ts +0 -42
  23. package/nrfutil/device/getCoreInfoBatch.ts +0 -29
  24. package/nrfutil/device/getFwInfoBatch.ts +0 -29
  25. package/nrfutil/device/getProtectionStatusBatch.ts +0 -32
  26. package/nrfutil/device/programBatch.ts +0 -69
  27. package/nrfutil/device/recoverBatch.ts +0 -28
  28. package/nrfutil/device/resetBatch.ts +0 -30
  29. package/typings/generated/nrfutil/device/eraseBatch.d.ts +0 -7
  30. package/typings/generated/nrfutil/device/eraseBatch.d.ts.map +0 -1
  31. package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts +0 -9
  32. package/typings/generated/nrfutil/device/firmwareReadBatch.d.ts.map +0 -1
  33. package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts +0 -8
  34. package/typings/generated/nrfutil/device/getCoreInfoBatch.d.ts.map +0 -1
  35. package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts +0 -8
  36. package/typings/generated/nrfutil/device/getFwInfoBatch.d.ts.map +0 -1
  37. package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts +0 -8
  38. package/typings/generated/nrfutil/device/getProtectionStatusBatch.d.ts.map +0 -1
  39. package/typings/generated/nrfutil/device/programBatch.d.ts +0 -9
  40. package/typings/generated/nrfutil/device/programBatch.d.ts.map +0 -1
  41. package/typings/generated/nrfutil/device/recoverBatch.d.ts +0 -7
  42. package/typings/generated/nrfutil/device/recoverBatch.d.ts.map +0 -1
  43. package/typings/generated/nrfutil/device/resetBatch.d.ts +0 -8
  44. package/typings/generated/nrfutil/device/resetBatch.d.ts.map +0 -1
@@ -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 eraseBatch from './eraseBatch';
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 getProtectionStatusBatch from './getProtectionStatusBatch';
23
- import { FirmwareType, ProgrammingOptions } from './program';
24
- import programBatch from './programBatch';
25
- import recoverBatch from './recoverBatch';
26
- import resetBatch from './resetBatch';
26
+ import {
27
+ FirmwareType,
28
+ ProgrammingOptions,
29
+ programmingOptionsToArgs,
30
+ } from './program';
27
31
 
28
- type BatchOperationWrapperUnknown = BatchOperationWrapper<unknown, unknown>;
32
+ type BatchOperationWrapperUnknown = BatchOperationWrapper<unknown>;
33
+ type CallbacksUnknown = Callbacks<unknown>;
29
34
 
30
35
  export class Batch {
31
- private operations: BatchOperationWrapperUnknown[];
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
- constructor(operations?: BatchOperationWrapperUnknown[]) {
40
- this.operations = operations ?? [];
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.operations.push(
45
- eraseBatch(core, { callbacks }) as BatchOperationWrapperUnknown
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.operations.push(
53
- firmwareReadBatch(core, {
54
- callbacks,
55
- }) as BatchOperationWrapperUnknown
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.operations.push(
66
- getCoreInfoBatch(core, {
67
- callbacks,
68
- }) as BatchOperationWrapperUnknown
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.operations.push(
76
- getFwInfoBatch(core, {
77
- callbacks,
78
- }) as BatchOperationWrapperUnknown
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.operations.push(
89
- getProtectionStatusBatch(core, {
90
- callbacks,
91
- }) as BatchOperationWrapperUnknown
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
- this.operations.push(
104
- programBatch(firmware, core, {
105
- programmingOptions,
106
- callbacks,
107
- }) as BatchOperationWrapperUnknown
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.operations.push(
115
- recoverBatch(core, { callbacks }) as BatchOperationWrapperUnknown
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.operations.push(
123
- resetBatch(core, {
124
- reset,
125
- callbacks,
126
- }) as BatchOperationWrapperUnknown
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.operations.length - 1,
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 operations = {
154
- operations: this.operations.map((operation, index) => ({
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(operations),
262
+ JSON.stringify(batchOperation),
169
263
  ],
170
264
  (progress, task) => {
171
265
  if (task) {
172
- this.operations[endId].onProgress?.(progress, task);
266
+ operations[endId].onProgress?.(progress, task);
173
267
  }
174
268
  },
175
269
  onTaskBegin => {
176
270
  beginId += 1;
177
- this.operations[endId].onTaskBegin?.(onTaskBegin);
271
+ operations[endId].onTaskBegin?.(onTaskBegin);
178
272
  },
179
273
  taskEnd => {
180
274
  results.push(taskEnd);
181
275
 
182
- this.operations[endId].onTaskEnd?.(taskEnd);
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
- this.operations[endId].onException?.(error);
301
+ operations[endId].onException?.(error);
208
302
  throw error;
209
303
  }
210
304
  } catch (error) {
211
305
  if (beginId !== endId) {
212
- this.operations[beginId].onException?.(error as Error);
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<OperationType, T = void> {
17
- operation: GenericOperation<OperationType>;
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>;
@@ -39,8 +39,7 @@ export default async (
39
39
  },
40
40
  timeout = 3000
41
41
  ) => {
42
- const args: string[] = [];
43
- args.concat(deviceTraitsToArgs(traits));
42
+ const args: string[] = deviceTraitsToArgs(traits);
44
43
 
45
44
  if (onHotplugEvent) {
46
45
  args.push('--hotplug');
@@ -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[] = [];
@@ -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
 
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordicsemiconductor/pc-nrfconnect-shared",
3
- "version": "103.0.0",
3
+ "version": "104.0.0",
4
4
  "description": "Shared commodities for developing pc-nrfconnect-* packages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1,26 +1,24 @@
1
1
  /// <reference types="node" />
2
2
  import { TaskEnd } from '../sandboxTypes';
3
- import { BatchOperationWrapper, Callbacks } from './batchTypes';
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 operations;
10
+ private operationBatchGeneration;
12
11
  private collectOperations;
13
- constructor(operations?: BatchOperationWrapperUnknown[]);
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":";AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EACH,UAAU,EAEV,6BAA6B,EAC7B,SAAS,EACZ,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAK7D,KAAK,4BAA4B,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;AAE5E,qBAAa,KAAK;IACd,OAAO,CAAC,UAAU,CAAiC;IAEnD,OAAO,CAAC,iBAAiB,CAIhB;gBAEG,UAAU,CAAC,EAAE,4BAA4B,EAAE;IAIhD,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAQ7C,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC;IAU5D,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,SAAS,CAAC,EAAE,SAAS;IAYlB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,SAAS;IAQ/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;CAuExB"}
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<OperationType, T = void> {
5
- operation: GenericOperation<OperationType>;
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,aAAa,EAAE,CAAC,GAAG,IAAI;IAC1D,SAAS,EAAE,gBAAgB,CAAC,aAAa,CAAC,CAAC;IAC3C,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
+ {"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":"AAMA,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,wBAqDE"}
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../nrfutil/device/list.ts"],"names":[],"mappings":"AAMA,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,wBAoDE"}
@@ -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;iCAqG3D,6BAA6B,YAC3B,YAAY,2BACE,QAAQ,KAAK,IAAI,sBAClC,UAAU,uBACI,kBAAkB,eAC1B,eAAe;AANhC,wBA4BE"}
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,sBAnV5B,UAAU,KAAK,IAAI,IA2V/C;IAEK,WAAW,UAAW,QAAQ,UAEnC;CACL;kCAGY,MAAM,UACP,MAAM,YACJ,MAAM,2BACQ,QAAQ,SAAS,IAAI,KAAK,IAAI;AAJ1D,wBAyCE"}
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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"}
@@ -1,28 +0,0 @@
1
- /*
2
- * Copyright (c) 2023 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import {
8
- BatchOperationWrapper,
9
- Callbacks,
10
- convertDeviceCoreType,
11
- EraseOperation,
12
- } from './batchTypes';
13
- import { DeviceCore } from './common';
14
-
15
- export default (
16
- core: DeviceCore,
17
- optionals?: {
18
- callbacks?: Callbacks;
19
- }
20
- ): BatchOperationWrapper<EraseOperation> => ({
21
- operation: {
22
- core: convertDeviceCoreType(core),
23
- operation: {
24
- type: 'erase',
25
- },
26
- },
27
- ...optionals?.callbacks,
28
- });
@@ -1,42 +0,0 @@
1
- /*
2
- * Copyright (c) 2023 Nordic Semiconductor ASA
3
- *
4
- * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
- */
6
-
7
- import {
8
- BatchOperationWrapper,
9
- Callbacks,
10
- convertDeviceCoreType,
11
- FirmwareReadOperation,
12
- } from './batchTypes';
13
- import { DeviceCore } from './common';
14
- import { DeviceBuffer } from './firmwareRead';
15
-
16
- export default (
17
- core: DeviceCore,
18
- optionals?: {
19
- callbacks?: Callbacks<Buffer>;
20
- }
21
- ): BatchOperationWrapper<FirmwareReadOperation, DeviceBuffer> => ({
22
- operation: {
23
- core: convertDeviceCoreType(core),
24
- operation: {
25
- type: 'fw-read',
26
- firmware: {
27
- buffer: '',
28
- },
29
- },
30
- },
31
- ...optionals?.callbacks,
32
- onTaskEnd: taskEnd => {
33
- if (taskEnd.result === 'success' && taskEnd.data)
34
- optionals?.callbacks?.onTaskEnd?.({
35
- ...taskEnd,
36
- data: Buffer.from(taskEnd.data.buffer, 'base64'),
37
- });
38
- else {
39
- optionals?.callbacks?.onException?.(new Error('Read failed'));
40
- }
41
- },
42
- });