opcjs-client 0.1.35-alpha → 0.1.37-alpha
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/index.cjs +12 -12
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +20 -2
- package/dist/index.d.ts +20 -2
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -108,6 +108,24 @@ declare class ReadValueResult {
|
|
|
108
108
|
constructor(value: unknown, statusCode: number);
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
+
/** Options for creating a subscription. All fields are optional; server will revise requested values. */
|
|
112
|
+
interface SubscriptionOptions {
|
|
113
|
+
/** Requested publishing interval in milliseconds. Default: 2000. */
|
|
114
|
+
requestedPublishingInterval?: number;
|
|
115
|
+
/** Requested lifetime count (number of publishing intervals before subscription times out). Default: 360000. */
|
|
116
|
+
requestedLifetimeCount?: number;
|
|
117
|
+
/** Requested max keep-alive count. Default: 60000. */
|
|
118
|
+
requestedMaxKeepAliveCount?: number;
|
|
119
|
+
/** Maximum number of notifications per publish response. 0 = no limit. Default: 200. */
|
|
120
|
+
maxNotificationsPerPublish?: number;
|
|
121
|
+
/** Subscription priority relative to other subscriptions. Default: 1. */
|
|
122
|
+
priority?: number;
|
|
123
|
+
/** Requested sampling interval in milliseconds. -1 = use subscription publishing interval. */
|
|
124
|
+
samplingInterval?: number;
|
|
125
|
+
/** Requested queue size for each monitored item. */
|
|
126
|
+
queueSize?: number;
|
|
127
|
+
}
|
|
128
|
+
|
|
111
129
|
/** URI for the SecurityPolicy None profile. */
|
|
112
130
|
declare const SECURITY_POLICY_NONE_URI = "http://opcfoundation.org/UA/SecurityPolicy#None";
|
|
113
131
|
/**
|
|
@@ -338,7 +356,7 @@ declare class Client {
|
|
|
338
356
|
subscribe(ids: NodeId[], callback: (data: {
|
|
339
357
|
id: NodeId;
|
|
340
358
|
value: unknown;
|
|
341
|
-
}[]) => void): Promise<void>;
|
|
359
|
+
}[]) => void, options?: SubscriptionOptions): Promise<void>;
|
|
342
360
|
constructor(endpointUrl: string, configuration: ConfigurationClient, identity: UserIdentity);
|
|
343
361
|
}
|
|
344
362
|
|
|
@@ -358,4 +376,4 @@ declare class SessionInvalidError extends Error {
|
|
|
358
376
|
constructor(statusCode: number);
|
|
359
377
|
}
|
|
360
378
|
|
|
361
|
-
export { BrowseNodeResult, type CallMethodArgument, CallMethodResult, Client, ConfigurationClient, SECURITY_POLICY_NONE_URI, type ScalarCallMethodArgument, type SecurityConfiguration, SessionInvalidError, type UnknownCertificatePolicy, UserIdentity };
|
|
379
|
+
export { BrowseNodeResult, type CallMethodArgument, CallMethodResult, Client, ConfigurationClient, SECURITY_POLICY_NONE_URI, type ScalarCallMethodArgument, type SecurityConfiguration, SessionInvalidError, type SubscriptionOptions, type UnknownCertificatePolicy, UserIdentity };
|
package/dist/index.d.ts
CHANGED
|
@@ -108,6 +108,24 @@ declare class ReadValueResult {
|
|
|
108
108
|
constructor(value: unknown, statusCode: number);
|
|
109
109
|
}
|
|
110
110
|
|
|
111
|
+
/** Options for creating a subscription. All fields are optional; server will revise requested values. */
|
|
112
|
+
interface SubscriptionOptions {
|
|
113
|
+
/** Requested publishing interval in milliseconds. Default: 2000. */
|
|
114
|
+
requestedPublishingInterval?: number;
|
|
115
|
+
/** Requested lifetime count (number of publishing intervals before subscription times out). Default: 360000. */
|
|
116
|
+
requestedLifetimeCount?: number;
|
|
117
|
+
/** Requested max keep-alive count. Default: 60000. */
|
|
118
|
+
requestedMaxKeepAliveCount?: number;
|
|
119
|
+
/** Maximum number of notifications per publish response. 0 = no limit. Default: 200. */
|
|
120
|
+
maxNotificationsPerPublish?: number;
|
|
121
|
+
/** Subscription priority relative to other subscriptions. Default: 1. */
|
|
122
|
+
priority?: number;
|
|
123
|
+
/** Requested sampling interval in milliseconds. -1 = use subscription publishing interval. */
|
|
124
|
+
samplingInterval?: number;
|
|
125
|
+
/** Requested queue size for each monitored item. */
|
|
126
|
+
queueSize?: number;
|
|
127
|
+
}
|
|
128
|
+
|
|
111
129
|
/** URI for the SecurityPolicy None profile. */
|
|
112
130
|
declare const SECURITY_POLICY_NONE_URI = "http://opcfoundation.org/UA/SecurityPolicy#None";
|
|
113
131
|
/**
|
|
@@ -338,7 +356,7 @@ declare class Client {
|
|
|
338
356
|
subscribe(ids: NodeId[], callback: (data: {
|
|
339
357
|
id: NodeId;
|
|
340
358
|
value: unknown;
|
|
341
|
-
}[]) => void): Promise<void>;
|
|
359
|
+
}[]) => void, options?: SubscriptionOptions): Promise<void>;
|
|
342
360
|
constructor(endpointUrl: string, configuration: ConfigurationClient, identity: UserIdentity);
|
|
343
361
|
}
|
|
344
362
|
|
|
@@ -358,4 +376,4 @@ declare class SessionInvalidError extends Error {
|
|
|
358
376
|
constructor(statusCode: number);
|
|
359
377
|
}
|
|
360
378
|
|
|
361
|
-
export { BrowseNodeResult, type CallMethodArgument, CallMethodResult, Client, ConfigurationClient, SECURITY_POLICY_NONE_URI, type ScalarCallMethodArgument, type SecurityConfiguration, SessionInvalidError, type UnknownCertificatePolicy, UserIdentity };
|
|
379
|
+
export { BrowseNodeResult, type CallMethodArgument, CallMethodResult, Client, ConfigurationClient, SECURITY_POLICY_NONE_URI, type ScalarCallMethodArgument, type SecurityConfiguration, SessionInvalidError, type SubscriptionOptions, type UnknownCertificatePolicy, UserIdentity };
|
package/dist/index.js
CHANGED
|
@@ -160,7 +160,7 @@ var SessionService = class _SessionService extends ServiceBase {
|
|
|
160
160
|
}
|
|
161
161
|
};
|
|
162
162
|
|
|
163
|
-
// src/issuerConfiguration.ts
|
|
163
|
+
// src/configuration/issuerConfiguration.ts
|
|
164
164
|
var IssuerConfiguration = class _IssuerConfiguration {
|
|
165
165
|
constructor(resourceId, authorityUrl, authorityProfileUri, tokenEndpoint, authorizationEndpoint, requestTypes, scopes) {
|
|
166
166
|
this.resourceId = resourceId;
|
|
@@ -359,7 +359,7 @@ var ReadValueResult = class {
|
|
|
359
359
|
}
|
|
360
360
|
};
|
|
361
361
|
|
|
362
|
-
// src/subscriptionHandlerEntry.ts
|
|
362
|
+
// src/subscription/subscriptionHandlerEntry.ts
|
|
363
363
|
var SubscriptionHandlerEntry = class {
|
|
364
364
|
constructor(subscriptionId, handle, id, callback) {
|
|
365
365
|
this.subscriptionId = subscriptionId;
|
|
@@ -369,7 +369,7 @@ var SubscriptionHandlerEntry = class {
|
|
|
369
369
|
}
|
|
370
370
|
};
|
|
371
371
|
|
|
372
|
-
// src/subscriptionHandler.ts
|
|
372
|
+
// src/subscription/subscriptionHandler.ts
|
|
373
373
|
var NODE_ID_DATA_CHANGE_NOTIFICATION = 811;
|
|
374
374
|
var NODE_ID_STATUS_CHANGE_NOTIFICATION = 818;
|
|
375
375
|
var SubscriptionHandler = class {
|
|
@@ -385,18 +385,18 @@ var SubscriptionHandler = class {
|
|
|
385
385
|
hasActiveSubscription() {
|
|
386
386
|
return this.isRunning && this.entries.length > 0;
|
|
387
387
|
}
|
|
388
|
-
async subscribe(ids, callback) {
|
|
388
|
+
async subscribe(ids, callback, options) {
|
|
389
389
|
if (this.entries.length > 0) {
|
|
390
390
|
throw new Error("Subscribing more than once is not implemented");
|
|
391
391
|
}
|
|
392
|
-
const subscriptionId = await this.subscriptionService.createSubscription();
|
|
392
|
+
const subscriptionId = await this.subscriptionService.createSubscription(options);
|
|
393
393
|
const items = [];
|
|
394
394
|
for (const id of ids) {
|
|
395
395
|
const entry = new SubscriptionHandlerEntry(subscriptionId, this.nextHandle++, id, callback);
|
|
396
396
|
this.entries.push(entry);
|
|
397
397
|
items.push({ id, handle: entry.handle });
|
|
398
398
|
}
|
|
399
|
-
await this.monitoredItemService.createMonitoredItems(subscriptionId, items);
|
|
399
|
+
await this.monitoredItemService.createMonitoredItems(subscriptionId, items, options);
|
|
400
400
|
this.isRunning = true;
|
|
401
401
|
void this.publishLoop([]);
|
|
402
402
|
}
|
|
@@ -510,10 +510,10 @@ var MonitoredItemService = class extends ServiceBase {
|
|
|
510
510
|
* Creates monitored items within a subscription (OPC UA Part 4, Section 5.13.2).
|
|
511
511
|
* @param subscriptionId - ID of the subscription to add monitored items to.
|
|
512
512
|
* @param ids - Array of NodeIds and client handles identifying the items to monitor.
|
|
513
|
-
* @param
|
|
514
|
-
* @param queueSize - Requested queue size for each monitored item.
|
|
513
|
+
* @param options - Monitoring options (samplingInterval, queueSize).
|
|
515
514
|
*/
|
|
516
|
-
async createMonitoredItems(subscriptionId, ids,
|
|
515
|
+
async createMonitoredItems(subscriptionId, ids, options = {}) {
|
|
516
|
+
const { samplingInterval = 1e3, queueSize = 100 } = options;
|
|
517
517
|
const items = ids.map((ni) => {
|
|
518
518
|
const readValueId = new ReadValueId();
|
|
519
519
|
readValueId.nodeId = ni.id;
|
|
@@ -577,7 +577,7 @@ var MethodService = class extends ServiceBase {
|
|
|
577
577
|
}
|
|
578
578
|
};
|
|
579
579
|
|
|
580
|
-
// src/callMethodResult.ts
|
|
580
|
+
// src/method/callMethodResult.ts
|
|
581
581
|
var CallMethodResult = class {
|
|
582
582
|
constructor(values, statusCode) {
|
|
583
583
|
this.values = values;
|
|
@@ -986,8 +986,8 @@ var Client = class {
|
|
|
986
986
|
}
|
|
987
987
|
return results;
|
|
988
988
|
}
|
|
989
|
-
async subscribe(ids, callback) {
|
|
990
|
-
this.subscriptionHandler?.subscribe(ids, callback);
|
|
989
|
+
async subscribe(ids, callback, options) {
|
|
990
|
+
this.subscriptionHandler?.subscribe(ids, callback, options);
|
|
991
991
|
}
|
|
992
992
|
};
|
|
993
993
|
var ConfigurationClient = class _ConfigurationClient extends Configuration {
|