Skip to content
Snippets Groups Projects
Commit 80712f48 authored by Marin Karamihalev's avatar Marin Karamihalev
Browse files

fix for missing notify error

parent 42a5c9f7
No related branches found
Tags 0.4.2
No related merge requests found
Pipeline #102867 failed
{ {
"name": "usp-js", "name": "usp-js",
"version": "0.4.1", "version": "0.4.2",
"description": "Helper library for easy usp communication using mqtt over tcp or ws.", "description": "Helper library for easy usp communication using mqtt over tcp or ws.",
"main": "node/index.js", "main": "node/index.js",
"browser": "web/index.js", "browser": "web/index.js",
......
...@@ -64,6 +64,7 @@ ...@@ -64,6 +64,7 @@
<p>Helper library for easy usp communication using mqtt over tcp or ws.</p> <p>Helper library for easy usp communication using mqtt over tcp or ws.</p>
<ul> <ul>
<li><a href="https://iopsys.se/usp-js/index.html">API documentation for usp-js</a></li> <li><a href="https://iopsys.se/usp-js/index.html">API documentation for usp-js</a></li>
<li><a href="https://dev.iopsys.eu/websdk/usp-js">usp-js repository</a></li>
<li><a href="https://usp-data-models.broadband-forum.org/tr-181-2-14-0-usp.html">BBF&#39;s USP reference documentation</a></li> <li><a href="https://usp-data-models.broadband-forum.org/tr-181-2-14-0-usp.html">BBF&#39;s USP reference documentation</a></li>
</ul> </ul>
<a href="#installation" id="installation" style="color: inherit; text-decoration: none;"> <a href="#installation" id="installation" style="color: inherit; text-decoration: none;">
......
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in commands/index.ts:79</li> <li>Defined in commands/index.ts:91</li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
...@@ -175,7 +175,7 @@ ...@@ -175,7 +175,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in commands/index.ts:107</li> <li>Defined in commands/index.ts:119</li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
...@@ -207,7 +207,7 @@ ...@@ -207,7 +207,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in commands/index.ts:183</li> <li>Defined in commands/index.ts:195</li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
...@@ -230,7 +230,7 @@ ...@@ -230,7 +230,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in commands/index.ts:122</li> <li>Defined in commands/index.ts:134</li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
...@@ -265,7 +265,7 @@ ...@@ -265,7 +265,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in commands/index.ts:146</li> <li>Defined in commands/index.ts:158</li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
...@@ -347,7 +347,7 @@ ...@@ -347,7 +347,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in commands/index.ts:177</li> <li>Defined in commands/index.ts:189</li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
...@@ -370,7 +370,7 @@ ...@@ -370,7 +370,7 @@
<li class="tsd-description"> <li class="tsd-description">
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in commands/index.ts:186</li> <li>Defined in commands/index.ts:198</li>
</ul> </ul>
</aside> </aside>
<h4 class="tsd-parameters-title">Parameters</h4> <h4 class="tsd-parameters-title">Parameters</h4>
...@@ -387,7 +387,7 @@ ...@@ -387,7 +387,7 @@
<a name="readmsg" class="tsd-anchor"></a> <a name="readmsg" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagConst">Const</span> read<wbr>Msg</h3> <h3><span class="tsd-flag ts-flagConst">Const</span> read<wbr>Msg</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module"> <ul class="tsd-signatures tsd-kind-function tsd-parent-kind-module">
<li class="tsd-signature tsd-kind-icon">read<wbr>Msg<span class="tsd-signature-symbol">(</span>proto<span class="tsd-signature-symbol">: </span><a href="types.html#proto" class="tsd-signature-type" data-tsd-kind="Type alias">Proto</a>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></li> <li class="tsd-signature tsd-kind-icon">read<wbr>Msg<span class="tsd-signature-symbol">(</span>proto<span class="tsd-signature-symbol">: </span><a href="types.html#proto" class="tsd-signature-type" data-tsd-kind="Type alias">Proto</a>, data<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">]</span></li>
</ul> </ul>
<ul class="tsd-descriptions"> <ul class="tsd-descriptions">
<li class="tsd-description"> <li class="tsd-description">
...@@ -405,7 +405,7 @@ ...@@ -405,7 +405,7 @@
<h5>data: <span class="tsd-signature-type">any</span></h5> <h5>data: <span class="tsd-signature-type">any</span></h5>
</li> </li>
</ul> </ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span></h4> <h4 class="tsd-returns-title">Returns <span class="tsd-signature-symbol">[</span><span class="tsd-signature-type">Record</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">, </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">]</span></h4>
</li> </li>
</ul> </ul>
</section> </section>
......
...@@ -186,7 +186,7 @@ ...@@ -186,7 +186,7 @@
<section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module"> <section class="tsd-panel tsd-member tsd-kind-type-alias tsd-parent-kind-module">
<a name="addcommand" class="tsd-anchor"></a> <a name="addcommand" class="tsd-anchor"></a>
<h3>Add<wbr>Command</h3> <h3>Add<wbr>Command</h3>
<div class="tsd-signature tsd-kind-icon">Add<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>raw<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#addresponse" class="tsd-signature-type" data-tsd-kind="Type alias">AddResponse</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span>, options<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>raw<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#addrawresponse" class="tsd-signature-type" data-tsd-kind="Type alias">AddRawResponse</a><span class="tsd-signature-symbol">&gt;</span></div> <div class="tsd-signature tsd-kind-icon">Add<wbr>Command<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, value<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">(</span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span>, options<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-symbol">{ </span>raw<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">false</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#addresponse" class="tsd-signature-type" data-tsd-kind="Type alias">AddResponse</a><span class="tsd-signature-symbol">&gt;</span><span class="tsd-signature-symbol"> &amp; </span><span class="tsd-signature-symbol">(</span>path<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, value<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-symbol">(</span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol"> | </span><a href="types.html#jsvalue" class="tsd-signature-type" data-tsd-kind="Type alias">JSValue</a><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><a href="types.html#inputrecord" class="tsd-signature-type" data-tsd-kind="Type alias">InputRecord</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">undefined</span>, options<span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">{ </span>raw<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">true</span><span class="tsd-signature-symbol"> }</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol"> =&gt; </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><a href="types.html#addrawresponse" class="tsd-signature-type" data-tsd-kind="Type alias">AddRawResponse</a><span class="tsd-signature-symbol">&gt;</span></div>
<aside class="tsd-sources"> <aside class="tsd-sources">
<ul> <ul>
<li>Defined in types.ts:166</li> <li>Defined in types.ts:166</li>
......
...@@ -13,9 +13,10 @@ const decode: DecodeFn = (msg) => { ...@@ -13,9 +13,10 @@ const decode: DecodeFn = (msg) => {
const relField = Object.keys(parent).find( const relField = Object.keys(parent).find(
(k) => k !== "subscriptionId" && k !== "sendResp" (k) => k !== "subscriptionId" && k !== "sendResp"
); );
const err = util.search(msg, "cmdFailure")
return id && relField return id && relField
? [parseInfo(relField, msg), id, null] ? [parseInfo(relField, msg), id, err]
: [null, id, null]; : [null, id, err];
} }
return [null]; return [null];
}; };
......
...@@ -59,6 +59,12 @@ export const decodeRecord = (proto: Proto, data: any): Record<string, any> => { ...@@ -59,6 +59,12 @@ export const decodeRecord = (proto: Proto, data: any): Record<string, any> => {
return JSON.parse(JSON.stringify(decodedRecord)); return JSON.parse(JSON.stringify(decodedRecord));
}; };
const readableError = (err) =>
Object.getOwnPropertyNames(err).reduce((acc, key) => {
acc[key] = err[key];
return acc;
}, {});
export const readMsg = ( export const readMsg = (
proto: Proto, proto: Proto,
data: any data: any
...@@ -68,21 +74,21 @@ export const readMsg = ( ...@@ -68,21 +74,21 @@ export const readMsg = (
"binaryData" in data ? data.binaryData : data "binaryData" in data ? data.binaryData : data
); );
const convertedDecodedRecord = JSON.parse(JSON.stringify(decodedRecord)) const convertedDecodedRecord = JSON.parse(JSON.stringify(decodedRecord));
if ("disconnect" in convertedDecodedRecord) if ("disconnect" in convertedDecodedRecord)
return [{}, convertedDecodedRecord.disconnect, true]; return [{}, convertedDecodedRecord.disconnect, true];
try { try {
const msg = proto.rootMsg.lookupType("usp.Msg"); const msg = proto.rootMsg.lookupType("usp.Msg");
const decodedMsg = msg.decode( const decodedMsg = msg.decode(
decodedRecord.noSessionContext?.payload || decodedRecord.noSessionContext?.payload ||
decodedRecord.sessionContext?.payload[0] decodedRecord.sessionContext?.payload[0]
); );
// forces conversion // forces conversion
return [JSON.parse(JSON.stringify(decodedMsg)), null, false]; return [JSON.parse(JSON.stringify(decodedMsg)), null, false];
} catch (err) { } catch (err) {
return [{}, err, false]; return [{}, readableError(err), false];
} }
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment