@nordicsemiconductor/pc-nrfconnect-shared 95.0.0 → 97.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 CHANGED
@@ -7,6 +7,29 @@ This project does _not_ adhere to
7
7
  [Semantic Versioning](https://semver.org/spec/v2.0.0.html) but contrary to it
8
8
  every new version is a new major version.
9
9
 
10
+ ## 97 - 2023-08-29
11
+
12
+ ### Added
13
+
14
+ - Functions to invoke functionality in the main process via IPC:
15
+ - `safeStorage.encryptionAvailable()`
16
+ - `safeStorage.encryptString(plainText)`
17
+ - `safeStorage.decryptString(encrypted)`
18
+ - Icons and links for:
19
+ - `PCA10152`
20
+ - `PCA10153`
21
+ - `PCA20049`
22
+
23
+ ## 96 - 2023-08-25
24
+
25
+ ### Added
26
+
27
+ - Exported type `NrfutilDeviceWithSerialnumber`
28
+
29
+ ### Changed
30
+
31
+ - Nrfutil device list `stop` callback is now an optional parameter
32
+
10
33
  ## 95 - 2023-08-25
11
34
 
12
35
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" ?>
2
2
  <!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
3
- <coverage lines-valid="2973" lines-covered="1647" line-rate="0.5539000000000001" branches-valid="1462" branches-covered="381" branch-rate="0.2606" timestamp="1692971454169" complexity="0" version="0.1">
3
+ <coverage lines-valid="2974" lines-covered="1648" line-rate="0.5540999999999999" branches-valid="1463" branches-covered="381" branch-rate="0.26039999999999996" timestamp="1693311136923" complexity="0" version="0.1">
4
4
  <sources>
5
5
  <source>/home/vsts/work/1/s</source>
6
6
  </sources>
@@ -342,7 +342,7 @@
342
342
  <methods>
343
343
  </methods>
344
344
  <lines>
345
- <line number="13" hits="124" branch="false"/>
345
+ <line number="13" hits="133" branch="false"/>
346
346
  </lines>
347
347
  </class>
348
348
  <class name="packageJsonMock.ts" filename="mocks/packageJsonMock.ts" line-rate="1" branch-rate="1">
@@ -854,7 +854,7 @@
854
854
  <line number="393" hits="0" branch="false"/>
855
855
  <line number="394" hits="0" branch="false"/>
856
856
  <line number="397" hits="0" branch="false"/>
857
- <line number="399" hits="0" branch="false"/>
857
+ <line number="399" hits="0" branch="true" condition-coverage="0% (0/1)"/>
858
858
  <line number="400" hits="0" branch="false"/>
859
859
  <line number="402" hits="0" branch="false"/>
860
860
  <line number="404" hits="0" branch="false"/>
@@ -1744,7 +1744,7 @@
1744
1744
  </method>
1745
1745
  <method name="(anonymous_22)" hits="0" signature="()V">
1746
1746
  <lines>
1747
- <line number="191" hits="0"/>
1747
+ <line number="192" hits="0"/>
1748
1748
  </lines>
1749
1749
  </method>
1750
1750
  </methods>
@@ -1798,16 +1798,16 @@
1798
1798
  <line number="166" hits="0" branch="false"/>
1799
1799
  <line number="170" hits="0" branch="false"/>
1800
1800
  <line number="171" hits="0" branch="false"/>
1801
- <line number="187" hits="0" branch="true" condition-coverage="0% (0/4)"/>
1802
- <line number="191" hits="1" branch="false"/>
1803
- <line number="192" hits="0" branch="false"/>
1801
+ <line number="188" hits="0" branch="true" condition-coverage="0% (0/4)"/>
1802
+ <line number="192" hits="1" branch="false"/>
1804
1803
  <line number="193" hits="0" branch="false"/>
1805
- <line number="196" hits="0" branch="true" condition-coverage="0% (0/2)"/>
1806
- <line number="199" hits="0" branch="true" condition-coverage="0% (0/1)"/>
1807
- <line number="200" hits="0" branch="false"/>
1808
- <line number="204" hits="1" branch="false"/>
1809
- <line number="205" hits="1" branch="true" condition-coverage="0% (0/1)"/>
1810
- <line number="206" hits="0" branch="false"/>
1804
+ <line number="194" hits="0" branch="false"/>
1805
+ <line number="197" hits="0" branch="true" condition-coverage="0% (0/2)"/>
1806
+ <line number="200" hits="0" branch="true" condition-coverage="0% (0/1)"/>
1807
+ <line number="201" hits="0" branch="false"/>
1808
+ <line number="205" hits="1" branch="false"/>
1809
+ <line number="206" hits="1" branch="true" condition-coverage="0% (0/1)"/>
1810
+ <line number="207" hits="0" branch="false"/>
1811
1811
  </lines>
1812
1812
  </class>
1813
1813
  </classes>
@@ -4848,38 +4848,38 @@
4848
4848
  </class>
4849
4849
  </classes>
4850
4850
  </package>
4851
- <package name="src.Device.deviceInfo" line-rate="0.7575" branch-rate="0.4181">
4851
+ <package name="src.Device.deviceInfo" line-rate="0.7646999999999999" branch-rate="0.4181">
4852
4852
  <classes>
4853
- <class name="deviceInfo.ts" filename="src/Device/deviceInfo/deviceInfo.ts" line-rate="0.7575" branch-rate="0.4181">
4853
+ <class name="deviceInfo.ts" filename="src/Device/deviceInfo/deviceInfo.ts" line-rate="0.7646999999999999" branch-rate="0.4181">
4854
4854
  <methods>
4855
4855
  <method name="(anonymous_9)" hits="56" signature="()V">
4856
4856
  <lines>
4857
- <line number="202" hits="56"/>
4857
+ <line number="233" hits="56"/>
4858
4858
  </lines>
4859
4859
  </method>
4860
4860
  <method name="(anonymous_11)" hits="56" signature="()V">
4861
4861
  <lines>
4862
- <line number="220" hits="56"/>
4862
+ <line number="251" hits="56"/>
4863
4863
  </lines>
4864
4864
  </method>
4865
4865
  <method name="(anonymous_12)" hits="28" signature="()V">
4866
4866
  <lines>
4867
- <line number="223" hits="28"/>
4867
+ <line number="254" hits="28"/>
4868
4868
  </lines>
4869
4869
  </method>
4870
4870
  <method name="(anonymous_13)" hits="28" signature="()V">
4871
4871
  <lines>
4872
- <line number="230" hits="28"/>
4872
+ <line number="261" hits="28"/>
4873
4873
  </lines>
4874
4874
  </method>
4875
4875
  <method name="(anonymous_14)" hits="0" signature="()V">
4876
4876
  <lines>
4877
- <line number="241" hits="0"/>
4877
+ <line number="272" hits="0"/>
4878
4878
  </lines>
4879
4879
  </method>
4880
4880
  <method name="(anonymous_15)" hits="0" signature="()V">
4881
4881
  <lines>
4882
- <line number="245" hits="0"/>
4882
+ <line number="276" hits="0"/>
4883
4883
  </lines>
4884
4884
  </method>
4885
4885
  </methods>
@@ -4892,31 +4892,32 @@
4892
4892
  <line number="39" hits="3" branch="false"/>
4893
4893
  <line number="40" hits="3" branch="false"/>
4894
4894
  <line number="41" hits="3" branch="false"/>
4895
- <line number="69" hits="3" branch="false"/>
4896
- <line number="186" hits="56" branch="true" condition-coverage="75% (3/4)"/>
4897
- <line number="188" hits="3" branch="false"/>
4898
- <line number="190" hits="112" branch="true" condition-coverage="83.33333333333334% (5/6)"/>
4899
- <line number="192" hits="0" branch="false"/>
4900
- <line number="202" hits="3" branch="false"/>
4901
- <line number="203" hits="56" branch="true" condition-coverage="0% (0/1)"/>
4902
- <line number="204" hits="0" branch="true" condition-coverage="0% (0/7)"/>
4903
- <line number="205" hits="0" branch="false"/>
4904
- <line number="207" hits="0" branch="true" condition-coverage="0% (0/5)"/>
4905
- <line number="208" hits="0" branch="false"/>
4906
- <line number="211" hits="56" branch="false"/>
4907
- <line number="214" hits="56" branch="false"/>
4908
- <line number="220" hits="28" branch="false"/>
4909
- <line number="221" hits="56" branch="true" condition-coverage="100% (3/3)"/>
4910
- <line number="223" hits="3" branch="false"/>
4911
- <line number="226" hits="28" branch="true" condition-coverage="100% (3/3)"/>
4912
- <line number="230" hits="28" branch="false"/>
4913
- <line number="234" hits="28" branch="true" condition-coverage="66.66666666666666% (2/3)"/>
4914
- <line number="235" hits="0" branch="false"/>
4915
- <line number="238" hits="28" branch="true" condition-coverage="14.285714285714285% (1/7)"/>
4916
- <line number="241" hits="3" branch="false"/>
4917
- <line number="242" hits="0" branch="true" condition-coverage="0% (0/2)"/>
4918
- <line number="245" hits="3" branch="false"/>
4919
- <line number="246" hits="0" branch="true" condition-coverage="0% (0/2)"/>
4895
+ <line number="42" hits="3" branch="false"/>
4896
+ <line number="73" hits="3" branch="false"/>
4897
+ <line number="217" hits="56" branch="true" condition-coverage="75% (3/4)"/>
4898
+ <line number="219" hits="3" branch="false"/>
4899
+ <line number="221" hits="112" branch="true" condition-coverage="83.33333333333334% (5/6)"/>
4900
+ <line number="223" hits="0" branch="false"/>
4901
+ <line number="233" hits="3" branch="false"/>
4902
+ <line number="234" hits="56" branch="true" condition-coverage="0% (0/1)"/>
4903
+ <line number="235" hits="0" branch="true" condition-coverage="0% (0/7)"/>
4904
+ <line number="236" hits="0" branch="false"/>
4905
+ <line number="238" hits="0" branch="true" condition-coverage="0% (0/5)"/>
4906
+ <line number="239" hits="0" branch="false"/>
4907
+ <line number="242" hits="56" branch="false"/>
4908
+ <line number="245" hits="56" branch="false"/>
4909
+ <line number="251" hits="28" branch="false"/>
4910
+ <line number="252" hits="56" branch="true" condition-coverage="100% (3/3)"/>
4911
+ <line number="254" hits="3" branch="false"/>
4912
+ <line number="257" hits="28" branch="true" condition-coverage="100% (3/3)"/>
4913
+ <line number="261" hits="28" branch="false"/>
4914
+ <line number="265" hits="28" branch="true" condition-coverage="66.66666666666666% (2/3)"/>
4915
+ <line number="266" hits="0" branch="false"/>
4916
+ <line number="269" hits="28" branch="true" condition-coverage="14.285714285714285% (1/7)"/>
4917
+ <line number="272" hits="3" branch="false"/>
4918
+ <line number="273" hits="0" branch="true" condition-coverage="0% (0/2)"/>
4919
+ <line number="276" hits="3" branch="false"/>
4920
+ <line number="277" hits="0" branch="true" condition-coverage="0% (0/2)"/>
4920
4921
  </lines>
4921
4922
  </class>
4922
4923
  </classes>
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (c) 2023 Nordic Semiconductor ASA
3
+ *
4
+ * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
+ */
6
+
7
+ import { handle, invoke } from './infrastructure/rendererToMain';
8
+
9
+ const channel = {
10
+ encryptionAvailable: 'safe-storage:encryptionAvailable',
11
+ encryptString: 'safe-storage:encryptString',
12
+ decryptString: 'safe-storage:decryptString',
13
+ };
14
+
15
+ type EncryptionAvailable = () => boolean;
16
+ const isEncryptionAvailable = invoke<EncryptionAvailable>(
17
+ channel.encryptionAvailable
18
+ );
19
+ const registerEncryptionAvailable = handle<EncryptionAvailable>(
20
+ channel.encryptionAvailable
21
+ );
22
+
23
+ type EncryptString = (plainText: string) => Buffer;
24
+ const encryptString = invoke<EncryptString>(channel.encryptString);
25
+ const registerEncryptString = handle<EncryptString>(channel.encryptString);
26
+
27
+ type DecryptString = (encrypted: Buffer) => string;
28
+ const decryptString = invoke<DecryptString>(channel.decryptString);
29
+ const registerDecryptString = handle<DecryptString>(channel.decryptString);
30
+
31
+ export const forRenderer = {
32
+ registerEncryptionAvailable,
33
+ registerEncryptString,
34
+ registerDecryptString,
35
+ };
36
+ export const inMain = { isEncryptionAvailable, encryptString, decryptString };
package/main/index.ts CHANGED
@@ -8,6 +8,7 @@ import { forRenderer as forRendererAppDetails } from '../ipc/appDetails';
8
8
  import { forRenderer as forRendererApps } from '../ipc/apps';
9
9
  import { forRenderer as forRendererOpenWindow } from '../ipc/openWindow';
10
10
  import { forRenderer as forRendererPreventSleep } from '../ipc/preventSleep';
11
+ import { forRenderer as forRendererSafeStorage } from '../ipc/safeStorage';
11
12
  import {
12
13
  forRenderer as forRendererSerialPort,
13
14
  inRenderer as inRendererSerialPort,
@@ -19,6 +20,9 @@ export const appDetails = { forRenderer: forRendererAppDetails };
19
20
  export const apps = { forRenderer: forRendererApps };
20
21
  export const openWindow = { forRenderer: forRendererOpenWindow };
21
22
  export const preventSleep = { forRenderer: forRendererPreventSleep };
23
+ export const safeStorage = {
24
+ forRenderer: forRendererSafeStorage,
25
+ };
22
26
  export const serialPort = {
23
27
  inRenderer: inRendererSerialPort,
24
28
  forRenderer: forRendererSerialPort,
package/nrfutil/index.ts CHANGED
@@ -12,6 +12,7 @@ export type {
12
12
  ProtectionStatus,
13
13
  SerialPort as DeviceSerialPort,
14
14
  NrfutilDevice,
15
+ NrfutilDeviceWithSerialnumber,
15
16
  } from './device/common';
16
17
 
17
18
  export type { DeviceCoreInfo } from './device/getCoreInfo';
@@ -395,8 +395,8 @@ export class NrfutilSandbox {
395
395
  });
396
396
 
397
397
  return {
398
- stop: (handler: () => void) => {
399
- closedHandlers.push(handler);
398
+ stop: (handler?: () => void) => {
399
+ if (handler) closedHandlers.push(handler);
400
400
  controller.abort();
401
401
  },
402
402
  isRunning: () => running,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordicsemiconductor/pc-nrfconnect-shared",
3
- "version": "95.0.0",
3
+ "version": "97.0.0",
4
4
  "description": "Shared commodities for developing pc-nrfconnect-* packages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -178,6 +178,7 @@ const doRelease = (nextReleaseNumber: number) => {
178
178
  nextReleaseName,
179
179
  '--notes',
180
180
  latestChangelogEntry,
181
+ '--latest',
181
182
  ],
182
183
  {
183
184
  stdio: 'inherit',
@@ -31,6 +31,7 @@
31
31
  import { NrfutilDevice } from '../../../nrfutil';
32
32
  import type { Device as WrappedDevice } from '../deviceSlice';
33
33
 
34
+ import nPMFamilyLogo from '!!@svgr!./nPM-Family-Series-logo.svg';
34
35
  import nrf51logo from '!!@svgr!./nRF51-Series-logo.svg';
35
36
  import nrf52logo from '!!@svgr!./nRF52-Series-logo.svg';
36
37
  import nrf53logo from '!!@svgr!./nRF53-Series-logo.svg';
@@ -54,7 +55,10 @@ type DevicePCA =
54
55
  | 'PCA10121'
55
56
  | 'PCA20020'
56
57
  | 'PCA20035'
57
- | 'PCA10143';
58
+ | 'PCA10143'
59
+ | 'PCA10152'
60
+ | 'PCA10153'
61
+ | 'PCA20049';
58
62
 
59
63
  interface DeviceInfo {
60
64
  name?: string | null;
@@ -180,6 +184,33 @@ const devicesByPca: { [P in DevicePCA]: DeviceInfo } = {
180
184
  buyOnlineParams: 'search_token=nRF7002-DK&series_token=nRF7002',
181
185
  },
182
186
  },
187
+ PCA10152: {
188
+ name: 'nPM 1300 EK',
189
+ cores: 2,
190
+ icon: nPMFamilyLogo,
191
+ website: {
192
+ productPagePath: 'Products/Development-hardware/nPM1300-EK',
193
+ buyOnlineParams: 'search_token=NPM1300EK',
194
+ },
195
+ },
196
+ PCA10153: {
197
+ name: 'nRF9161 DK',
198
+ cores: 1,
199
+ icon: nrf91logo,
200
+ website: {
201
+ productPagePath: 'Products/Development-hardware/nrf9161dk',
202
+ buyOnlineParams: 'search_token=NRF9161-dk',
203
+ },
204
+ },
205
+ PCA20049: {
206
+ name: 'Nordic Thingy:91x',
207
+ cores: 1,
208
+ icon: nrf91logo,
209
+ website: {
210
+ productPagePath: 'Products/Development-hardware/thingy91x',
211
+ buyOnlineParams: 'search_token=nRF9161-Thingy91x',
212
+ },
213
+ },
183
214
  };
184
215
 
185
216
  const deviceByPca = (device: Device) =>
@@ -0,0 +1 @@
1
+ <svg width="21.08" height="20" id="Layer_1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 289.83 282.96"><defs><style>.cls-1{fill:#333f48;}</style></defs><polygon class="cls-1" points="209.44 143.78 251.12 143.78 289.83 105.09 213.79 105.09 285.5 0 148.88 126.11 221.83 126.11 209.44 143.78"/><polygon class="cls-1" points="161.42 212.27 111.87 282.96 182.59 212.27 161.42 212.27"/><path class="cls-1" d="m0,154.83h35.33v9.28H10.21v9.88h22.14v9.28H10.21v17.96H0v-46.4Z"/><path class="cls-1" d="m52.62,154.5h9.41l19.88,46.73h-10.67l-4.24-10.41h-19.62l-4.24,10.41h-10.41l19.88-46.73Zm10.74,27.31l-6.17-15.05-6.16,15.05h12.33Z"/><path class="cls-1" d="m86.44,154.83h11l12.2,19.62,12.2-19.62h11v46.4h-10.14v-30.29l-13.06,19.82h-.27l-12.93-19.62v30.09h-10.01v-46.4Z"/><path class="cls-1" d="m144.84,154.83h10.21v46.4h-10.21v-46.4Z"/><path class="cls-1" d="m166.65,154.83h10.21v37.12h23.13v9.28h-33.34v-46.4Z"/><path class="cls-1" d="m212.12,182.93l-17.83-28.1h11.93l11.07,18.63,11.27-18.63h11.6l-17.83,27.91v18.49h-10.21v-18.29Z"/><path class="cls-1" d="m0,108.25h10.07v5.04c2.32-2.98,5.3-5.7,10.41-5.7,7.62,0,12.06,5.04,12.06,13.19v23h-10.07v-19.82c0-4.77-2.25-7.22-6.1-7.22s-6.3,2.45-6.3,7.22v19.82H0v-35.53Z"/><path class="cls-1" d="m42.26,97.38h18.96c11.07,0,17.76,6.56,17.76,16.04v.13c0,10.74-8.35,16.31-18.76,16.31h-7.75v13.92h-10.21v-46.4Zm18.29,23.4c5.1,0,8.09-3.05,8.09-7.03v-.13c0-4.57-3.18-7.03-8.29-7.03h-7.89v14.18h8.09Z"/><path class="cls-1" d="m86.47,97.38h11l12.2,19.62,12.2-19.62h11v46.4h-10.14v-30.29l-13.06,19.82h-.27l-12.93-19.62v30.09h-10.01v-46.4Z"/></svg>
package/src/index.ts CHANGED
@@ -161,3 +161,4 @@ export {
161
161
  } from '../ipc/apps';
162
162
  export { inMain as openWindow } from '../ipc/openWindow';
163
163
  export { inMain as preventSleep } from '../ipc/preventSleep';
164
+ export { inMain as safeStorage } from '../ipc/safeStorage';
@@ -0,0 +1,12 @@
1
+ /// <reference types="node" />
2
+ export declare const forRenderer: {
3
+ registerEncryptionAvailable: (handler: (() => boolean) | (() => Promise<boolean>)) => void;
4
+ registerEncryptString: (handler: ((plainText: string) => Buffer) | ((plainText: string) => Promise<Buffer>)) => void;
5
+ registerDecryptString: (handler: ((encrypted: Buffer) => string) | ((encrypted: Buffer) => Promise<string>)) => void;
6
+ };
7
+ export declare const inMain: {
8
+ isEncryptionAvailable: () => Promise<boolean>;
9
+ encryptString: (plainText: string) => Promise<Buffer>;
10
+ decryptString: (encrypted: Buffer) => Promise<string>;
11
+ };
12
+ //# sourceMappingURL=safeStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safeStorage.d.ts","sourceRoot":"","sources":["../../../ipc/safeStorage.ts"],"names":[],"mappings":";AA8BA,eAAO,MAAM,WAAW;;;;CAIvB,CAAC;AACF,eAAO,MAAM,MAAM;;;;CAA0D,CAAC"}
@@ -31,6 +31,13 @@ export declare const preventSleep: {
31
31
  registerEnd: (handler: (id: number) => void) => Electron.IpcMain;
32
32
  };
33
33
  };
34
+ export declare const safeStorage: {
35
+ forRenderer: {
36
+ registerEncryptionAvailable: (handler: (() => boolean) | (() => Promise<boolean>)) => void;
37
+ registerEncryptString: (handler: ((plainText: string) => Buffer) | ((plainText: string) => Promise<Buffer>)) => void;
38
+ registerDecryptString: (handler: ((encrypted: Buffer) => string) | ((encrypted: Buffer) => Promise<string>)) => void;
39
+ };
40
+ };
34
41
  export declare const serialPort: {
35
42
  inRenderer: {
36
43
  broadcastChanged: (subChannel: string, targets?: Pick<Electron.WebContents, "send">[], newOptions: import("serialport").SerialPortOpenOptions<import("@serialport/bindings-cpp").AutoDetectTypes>) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../main/index.ts"],"names":[],"mappings":";AAeA,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,eAAO,MAAM,UAAU;;;;CAAyC,CAAC;AACjE,eAAO,MAAM,IAAI;;;;;;;;;;;;;CAAmC,CAAC;AACrD,eAAO,MAAM,UAAU;;;;;CAAyC,CAAC;AACjE,eAAO,MAAM,YAAY;;;;;CAA2C,CAAC;AACrE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAGtB,CAAC;AAEF,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../main/index.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,eAAO,MAAM,UAAU;;;;CAAyC,CAAC;AACjE,eAAO,MAAM,IAAI;;;;;;;;;;;;;CAAmC,CAAC;AACrD,eAAO,MAAM,UAAU;;;;;CAAyC,CAAC;AACjE,eAAO,MAAM,YAAY;;;;;CAA2C,CAAC;AACrE,eAAO,MAAM,WAAW;;;;;;CAEvB,CAAC;AACF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;CAGtB,CAAC;AAEF,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC"}
@@ -15,7 +15,7 @@ declare const _default: {
15
15
  onDeviceArrived: (device: import("./common").NrfutilDeviceWithSerialnumber) => void;
16
16
  onDeviceLeft: (id: number) => void;
17
17
  } | undefined) => Promise<{
18
- stop: (handler: () => void) => void;
18
+ stop: (handler?: (() => void) | undefined) => void;
19
19
  isRunning: () => boolean;
20
20
  onClosed: (handler: (error?: Error | undefined) => void) => () => ((error?: Error | undefined) => void)[];
21
21
  }>;
@@ -11,7 +11,7 @@ declare const _default: (traits: DeviceTraits, onEnumerated: (devices: NrfutilDe
11
11
  onDeviceArrived: (device: NrfutilDeviceWithSerialnumber) => void;
12
12
  onDeviceLeft: (id: number) => void;
13
13
  } | undefined) => Promise<{
14
- stop: (handler: () => void) => void;
14
+ stop: (handler?: (() => void) | undefined) => void;
15
15
  isRunning: () => boolean;
16
16
  onClosed: (handler: (error?: Error | undefined) => void) => () => ((error?: Error | undefined) => void)[];
17
17
  }>;
@@ -1,5 +1,5 @@
1
1
  export { default as NrfutilDeviceLib } from './device/device';
2
- export type { DeviceCore, DeviceTraits, ProtectionStatus, SerialPort as DeviceSerialPort, NrfutilDevice, } from './device/common';
2
+ export type { DeviceCore, DeviceTraits, ProtectionStatus, SerialPort as DeviceSerialPort, NrfutilDevice, NrfutilDeviceWithSerialnumber, } from './device/common';
3
3
  export type { DeviceCoreInfo } from './device/getCoreInfo';
4
4
  export type { ImageType } from './device/getFwInfo';
5
5
  export { default as prepareSandbox } from './sandbox';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../nrfutil/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,YAAY,EACR,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,IAAI,gBAAgB,EAC9B,aAAa,GAChB,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../nrfutil/index.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAE9D,YAAY,EACR,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,UAAU,IAAI,gBAAgB,EAC9B,aAAa,EACb,6BAA6B,GAChC,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,YAAY,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAChE,YAAY,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC3D,YAAY,EAAE,SAAS,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC"}
@@ -22,7 +22,7 @@ export declare class NrfutilSandbox {
22
22
  }>;
23
23
  private execCommand;
24
24
  execBackgroundSubcommand: <Result>(command: string, args: string[], processors: BackgroundTask<Result>) => {
25
- stop: (handler: () => void) => void;
25
+ stop: (handler?: () => void) => void;
26
26
  isRunning: () => boolean;
27
27
  onClosed: (handler: (error?: Error) => void) => () => ((error?: Error) => void)[];
28
28
  };
@@ -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;wBA2CM,MAAM,IAAI;;qCAKG,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,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 +1 @@
1
- {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../../src/Device/deviceInfo/deviceInfo.ts"],"names":[],"mappings":";AA8BA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAW9D,KAAK,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;AAgB5C,UAAU,UAAU;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;IACxB,OAAO,EAAE;QACL,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL;AAyJD,eAAO,MAAM,UAAU,WAAY,MAAM,KAAG,UAC2B,CAAC;AASxE,eAAO,MAAM,mBAAmB,WACpB,MAAM;;YAQjB,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,uBAEiC,CAAC;AAE/E,eAAO,MAAM,YAAY,WAAY,MAAM,uBAIrC,CAAC"}
1
+ {"version":3,"file":"deviceInfo.d.ts","sourceRoot":"","sources":["../../../../../src/Device/deviceInfo/deviceInfo.ts"],"names":[],"mappings":";AA8BA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAY9D,KAAK,MAAM,GAAG,aAAa,GAAG,aAAa,CAAC;AAmB5C,UAAU,UAAU;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,CAAC,WAAW,CAAC;IACxB,OAAO,EAAE;QACL,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL;AAoLD,eAAO,MAAM,UAAU,WAAY,MAAM,KAAG,UAC2B,CAAC;AASxE,eAAO,MAAM,mBAAmB,WACpB,MAAM;;YAQjB,CAAC;AAEF,eAAO,MAAM,cAAc,WAAY,MAAM,uBAEiC,CAAC;AAE/E,eAAO,MAAM,YAAY,WAAY,MAAM,uBAIrC,CAAC"}
@@ -70,4 +70,5 @@ export { addNewMessage, newCopiedFlashMessage, newInfoFlashMessage, newWarningFl
70
70
  export { inMain as apps, type App as AppType, type AppSpec, type AppWithError, type DownloadableApp, type InstalledDownloadableApp, type LaunchableApp, type LocalApp, type SourceWithError, type UninstalledDownloadableApp, type WithdrawnApp, } from '../ipc/apps';
71
71
  export { inMain as openWindow } from '../ipc/openWindow';
72
72
  export { inMain as preventSleep } from '../ipc/preventSleep';
73
+ export { inMain as safeStorage } from '../ipc/safeStorage';
73
74
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}