Skip to main content

Data Plane Socket Client Examples

Use these snippets to consume activity updates over sockets and manage local subscription callbacks.

DataspaceDataPlaneSocketClient

import { DataspaceDataPlaneSocketClient } from '@twin.org/dataspace-data-plane-socket-client';

const client = new DataspaceDataPlaneSocketClient({
config: {
endpoint: 'ws://localhost:8090'
},
loggingComponentType: 'logging'
});

console.log(client.className()); // DataspaceDataPlaneSocketClient
import { DataspaceDataPlaneSocketClient } from '@twin.org/dataspace-data-plane-socket-client';

const client = new DataspaceDataPlaneSocketClient({
config: {
endpoint: 'ws://localhost:8090'
}
});

const subscriptionId = await client.subscribeToActivityLog(async notification => {
console.log(notification.id); // urn:activity-log:2001
console.log(notification.status); // completed
});

await client.unSubscribeToActivityLog(subscriptionId);
import { DataspaceDataPlaneSocketClient } from '@twin.org/dataspace-data-plane-socket-client';

const client = new DataspaceDataPlaneSocketClient({
config: {
endpoint: 'ws://localhost:8090'
}
});

try {
await client.getActivityLogEntry('urn:activity-log:2001');
} catch (error) {
console.log(error instanceof Error); // true
}

try {
await client.getDataAssetEntities(
{ entityType: 'https://vocabulary.uncefact.org/Consignment' },
'consumer-process-id',
undefined,
10,
'eyJhbGciOi...'
);
} catch (error) {
console.log(error instanceof Error); // true
}

try {
await client.queryDataAsset('consumer-process-id', { query: {} }, undefined, 10, 'eyJhbGciOi...');
} catch (error) {
console.log(error instanceof Error); // true
}
import { DataspaceDataPlaneSocketClient } from '@twin.org/dataspace-data-plane-socket-client';
import type { IActivityStreamsActivity } from '@twin.org/standards-w3c-activity-streams';

const client = new DataspaceDataPlaneSocketClient({
config: {
endpoint: 'ws://localhost:8090'
}
});

const activity: IActivityStreamsActivity = {
'@context': 'https://www.w3.org/ns/activitystreams',
id: 'urn:activity:2001',
type: 'Create'
};

try {
await client.notifyActivity(activity);
} catch (error) {
console.log(error instanceof Error); // true
}