-
Notifications
You must be signed in to change notification settings - Fork 67
Open
Description
When creating a ProxyObject at the root path, i.e.
const obj = await bus.getProxyObject('some.service.name', '/');the sub-nodes contained in the XML returned by the introspect call will not be added to the ProxyObject's nodes attribute.
That is because of how the sub-nodes full object path is constructed in https://github.com/dbusjs/node-dbus-next/blob/master/lib/client/proxy-object.js#L95
const path = `${this.path}/${name}`;
if (isObjectPathValid(path)) {
this.nodes.push(path);
}Since this.path is /, the sub-nodes path will start with //, which is not a valid object path and therefore rejected by the following isObjectPathValid check.
I think this could be replaced with
const path = this.path === '/' ? `/${name}` : `${this.path}/${name}`;since otherwise object paths can not end with '/'.
Metadata
Metadata
Assignees
Labels
No labels