@emdzej/bimmerz-rpc-can 0.1.0 → 0.3.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/dist/client.d.ts +8 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +15 -2
- package/dist/client.js.map +1 -1
- package/package.json +7 -4
package/dist/client.d.ts
CHANGED
|
@@ -33,7 +33,14 @@ export declare class CanClient {
|
|
|
33
33
|
/** Subscribe to revocation events (cooperative `open` from another client). */
|
|
34
34
|
onRevoked(handler: (ev: CanRevokedEvent) => void): Unsubscribe;
|
|
35
35
|
}
|
|
36
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
* Convenience: open `url` and wrap the connection in a CanClient.
|
|
38
|
+
*
|
|
39
|
+
* If the first connect fails the client is closed before the error is
|
|
40
|
+
* rethrown. The caller never receives `rpc` in that case, so with
|
|
41
|
+
* `autoReconnect` on nothing else could stop its retry loop — an unplugged
|
|
42
|
+
* dongle meant a new WebSocket every `reconnectDelayMs`, for ever.
|
|
43
|
+
*/
|
|
37
44
|
export declare function connectCan(url: string, options?: RpcClientOptions): Promise<{
|
|
38
45
|
can: CanClient;
|
|
39
46
|
rpc: RpcClient;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAGjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AA0BpB,qBAAa,SAAS;aACQ,GAAG,EAAE,SAAS;gBAAd,GAAG,EAAE,SAAS;IAE1C,0EAA0E;IACpE,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAIxD,sEAAsE;IAChE,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlE,mCAAmC;IAC7B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAIrD,oEAAoE;IAC9D,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMhE,iCAAiC;IAC3B,OAAO,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzC,kFAAkF;IAC5E,KAAK,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAIvC,yEAAyE;IACzE,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAYvD,+EAA+E;IAC/E,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,IAAI,GAAG,WAAW;CAG/D;AAED
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,SAAS,EACT,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAGjB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,QAAQ,EACR,kBAAkB,EAClB,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AA0BpB,qBAAa,SAAS;aACQ,GAAG,EAAE,SAAS;gBAAd,GAAG,EAAE,SAAS;IAE1C,0EAA0E;IACpE,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAIxD,sEAAsE;IAChE,SAAS,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIlE,mCAAmC;IAC7B,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAIrD,oEAAoE;IAC9D,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAMhE,iCAAiC;IAC3B,OAAO,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAIzC,kFAAkF;IAC5E,KAAK,IAAI,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC;IAIvC,yEAAyE;IACzE,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,GAAG,WAAW;IAYvD,+EAA+E;IAC/E,SAAS,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,eAAe,KAAK,IAAI,GAAG,WAAW;CAG/D;AAED;;;;;;;GAOG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC;IAAE,GAAG,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,SAAS,CAAA;CAAE,CAAC,CAS7C"}
|
package/dist/client.js
CHANGED
|
@@ -62,10 +62,23 @@ export class CanClient {
|
|
|
62
62
|
return this.rpc.on("can.revoked", handler);
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
-
/**
|
|
65
|
+
/**
|
|
66
|
+
* Convenience: open `url` and wrap the connection in a CanClient.
|
|
67
|
+
*
|
|
68
|
+
* If the first connect fails the client is closed before the error is
|
|
69
|
+
* rethrown. The caller never receives `rpc` in that case, so with
|
|
70
|
+
* `autoReconnect` on nothing else could stop its retry loop — an unplugged
|
|
71
|
+
* dongle meant a new WebSocket every `reconnectDelayMs`, for ever.
|
|
72
|
+
*/
|
|
66
73
|
export async function connectCan(url, options) {
|
|
67
74
|
const rpc = new RpcClient(url, options);
|
|
68
|
-
|
|
75
|
+
try {
|
|
76
|
+
await rpc.connect();
|
|
77
|
+
}
|
|
78
|
+
catch (e) {
|
|
79
|
+
rpc.close();
|
|
80
|
+
throw e;
|
|
81
|
+
}
|
|
69
82
|
return { can: new CanClient(rpc), rpc };
|
|
70
83
|
}
|
|
71
84
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,SAAS,EAGT,YAAY,EACZ,YAAY,GACb,MAAM,0BAA0B,CAAC;AA2BlC,SAAS,WAAW,CAAC,CAAW;IAC9B,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK;QACnB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK;QACnB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,SAAS;IACQ;IAA5B,YAA4B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE9C,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,IAAoB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAgB,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,SAAS,CAAC,IAAyB;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAgB,eAAe,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,IAAI,CAAC,KAAe;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAkB,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,SAAS,CAAC,MAAkB;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAqB,eAAe,EAAE;YAC3D,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAkB,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAkB,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,OAAoC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAY,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjD,OAAO,CAAC;gBACN,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,SAAS,CAAC,OAAsC;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAkB,aAAa,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;CACF;AAED
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,SAAS,EAGT,YAAY,EACZ,YAAY,GACb,MAAM,0BAA0B,CAAC;AA2BlC,SAAS,WAAW,CAAC,CAAW;IAC9B,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK;QACnB,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,KAAK;QACnB,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,SAAS;IACQ;IAA5B,YAA4B,GAAc;QAAd,QAAG,GAAH,GAAG,CAAW;IAAG,CAAC;IAE9C,0EAA0E;IAC1E,KAAK,CAAC,IAAI,CAAC,IAAoB;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAgB,UAAU,EAAE,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,SAAS,CAAC,IAAyB;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAgB,eAAe,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAED,mCAAmC;IACnC,KAAK,CAAC,IAAI,CAAC,KAAe;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAkB,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,SAAS,CAAC,MAAkB;QAChC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAqB,eAAe,EAAE;YAC3D,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC;SAChC,CAAC,CAAC;IACL,CAAC;IAED,iCAAiC;IACjC,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAkB,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,kFAAkF;IAClF,KAAK,CAAC,KAAK;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAkB,WAAW,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,yEAAyE;IACzE,IAAI,CAAC,OAAoC;QACvC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAY,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YACjD,OAAO,CAAC;gBACN,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC/B,EAAE,EAAE,MAAM,CAAC,EAAE;aACd,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+EAA+E;IAC/E,SAAS,CAAC,OAAsC;QAC9C,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAkB,aAAa,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAW,EACX,OAA0B;IAE1B,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,CAAC,CAAC;IACV,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC;AAC1C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@emdzej/bimmerz-rpc-can",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Typed client for the bimmerz-box dongle's /rpc/can/<n> endpoint. Classical CAN frames, no FD. Built on @emdzej/bimmerz-rpc-core.",
|
|
6
|
+
"license": "PolyForm-Noncommercial-1.0.0",
|
|
6
7
|
"main": "dist/index.js",
|
|
7
8
|
"types": "dist/index.d.ts",
|
|
8
9
|
"exports": {
|
|
@@ -16,18 +17,19 @@
|
|
|
16
17
|
"dist"
|
|
17
18
|
],
|
|
18
19
|
"dependencies": {
|
|
19
|
-
"@emdzej/bimmerz-rpc-core": "0.
|
|
20
|
+
"@emdzej/bimmerz-rpc-core": "0.3.0"
|
|
20
21
|
},
|
|
21
22
|
"devDependencies": {
|
|
22
23
|
"@types/node": "^22.13.1",
|
|
23
|
-
"typescript": "^5.7.3"
|
|
24
|
+
"typescript": "^5.7.3",
|
|
25
|
+
"vitest": "^5.0.1"
|
|
24
26
|
},
|
|
25
27
|
"publishConfig": {
|
|
26
28
|
"access": "public"
|
|
27
29
|
},
|
|
28
30
|
"repository": {
|
|
29
31
|
"type": "git",
|
|
30
|
-
"url": "https://github.com/emdzej/bimmerz.git",
|
|
32
|
+
"url": "https://github.com/emdzej/bimmerz-core.git",
|
|
31
33
|
"directory": "packages/rpc-can"
|
|
32
34
|
},
|
|
33
35
|
"scripts": {
|
|
@@ -35,6 +37,7 @@
|
|
|
35
37
|
"dev": "tsc --watch",
|
|
36
38
|
"lint": "eslint .",
|
|
37
39
|
"typecheck": "tsc --noEmit",
|
|
40
|
+
"test": "vitest run",
|
|
38
41
|
"clean": "rm -rf dist .turbo *.tsbuildinfo"
|
|
39
42
|
}
|
|
40
43
|
}
|