node-opcua-file-transfer 2.153.0 → 2.154.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.
@@ -3,6 +3,7 @@ export interface ReadStreamOptions {
3
3
  }
4
4
  export interface AbstractFs {
5
5
  stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void;
6
+ statSync(path: PathLike): Stats;
6
7
  open(path: PathLike, flags: OpenMode, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void;
7
8
  write<TBuffer extends NodeJS.ArrayBufferView>(fd: number, buffer: TBuffer, offset: number | undefined | null, length: number | undefined | null, position: number | undefined | null, callback: (err: NodeJS.ErrnoException | null, bytesWritten: number, buffer: TBuffer) => void): void;
8
9
  read<TBuffer extends NodeJS.ArrayBufferView>(fd: number, buffer: TBuffer, offset: number, length: number, position: number | null, callback: (err: NodeJS.ErrnoException | null, bytesRead: number, buffer: TBuffer) => void): void;
@@ -13,7 +13,7 @@ export interface FileOptions {
13
13
  */
14
14
  filename: string;
15
15
  /**
16
- * the maximum allowed size of the phisical file.
16
+ * the maximum allowed size of the physical file.
17
17
  */
18
18
  maxSize?: number;
19
19
  /**
@@ -19,6 +19,7 @@ const node_opcua_debug_1 = require("node-opcua-debug");
19
19
  const node_opcua_nodeid_1 = require("node-opcua-nodeid");
20
20
  const node_opcua_status_code_1 = require("node-opcua-status-code");
21
21
  const node_opcua_variant_1 = require("node-opcua-variant");
22
+ const node_opcua_data_value_1 = require("node-opcua-data-value");
22
23
  const open_mode_1 = require("../open_mode");
23
24
  const debugLog = (0, node_opcua_debug_1.make_debugLog)("FileType");
24
25
  const errorLog = (0, node_opcua_debug_1.make_errorLog)("FileType");
@@ -49,8 +50,32 @@ class FileTypeData {
49
50
  get: () => new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.UInt16, value: this._openCount })
50
51
  }, true);
51
52
  file.openCount.minimumSamplingInterval = 0; // changes immediately
53
+ const readFileSize = () => {
54
+ const stat = this._fs.statSync(this.filename);
55
+ const size = stat.size;
56
+ const timestamp = stat.mtime;
57
+ return { size, timestamp };
58
+ };
59
+ const data = this;
52
60
  file.size.bindVariable({
53
- get: () => new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.UInt64, value: this._fileSize })
61
+ timestamped_get() {
62
+ try {
63
+ const { size, timestamp } = readFileSize();
64
+ data.fileSize = size;
65
+ return new node_opcua_data_value_1.DataValue({
66
+ sourceTimestamp: timestamp,
67
+ serverTimestamp: (new Date()),
68
+ value: new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.UInt64, value: data._fileSize }),
69
+ statusCode: node_opcua_status_code_1.StatusCodes.Good
70
+ });
71
+ }
72
+ catch (err) {
73
+ return new node_opcua_data_value_1.DataValue({
74
+ serverTimestamp: (new Date()),
75
+ statusCode: node_opcua_status_code_1.StatusCodes.BadDataUnavailable
76
+ });
77
+ }
78
+ }
54
79
  }, true);
55
80
  file.size.minimumSamplingInterval = 0; // changes immediately
56
81
  this.refresh();
@@ -1 +1 @@
1
- {"version":3,"file":"file_type_helpers.js","sourceRoot":"","sources":["../../source/server/file_type_helpers.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAuKH,8BAsBC;AAYD,kCAEC;AA6cD,0CAiCC;AAvrBD,+BAAwC;AACxC,4CAAwB;AAExB,yDAA2C;AAC3C,iFAAyE;AAUzE,uEAAwD;AACxD,uDAAiG;AACjG,yDAAmE;AAEnE,mEAAqD;AACrD,2DAAyE;AAEzE,4CAA8D;AAG9D,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,UAAU,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;AAC/C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAC3C,OAAO,CAAC;AAiCR;;GAEG;AACH,MAAa,YAAY;IAerB,YAAY,OAAoB,EAAE,IAAY;QAbvC,aAAQ,GAAG,EAAE,CAAC;QACd,YAAO,GAAG,CAAC,CAAC;QACZ,aAAQ,GAAG,EAAE,CAAC;QACd,sBAAiB,GAAG,CAAC,CAAC;QAGrB,eAAU,GAAG,CAAC,CAAC;QACf,cAAS,GAAG,CAAC,CAAC;QAOlB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,UAAU,IAAI,YAAM,CAAC;QACxC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAE7D,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,YAAY,IAAI,YAAY,CAAC,YAAY,CAAC;QAE3E,8EAA8E;QAC9E,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,YAAY,CACvB;YACI,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;SAChF,EACD,IAAI,CACP,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAElE,IAAI,CAAC,IAAI,CAAC,YAAY,CAClB;YACI,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;SAC/E,EACD,IAAI,CACP,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,uBAAuB,GAAG,CAAC,CAAC,CAAC,sBAAsB;QAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED,IAAW,SAAS,CAAC,KAAa;QAC9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACrC,CAAC;IAED,IAAW,SAAS;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC;IAC3B,CAAC;IAED,IAAW,QAAQ,CAAC,KAAa;QAC7B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,IAAW,QAAQ;QACf,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAO;QAChB,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;QAE5B,4CAA4C;QAC5C,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAkB;YACpD,IAAI,CAAC;gBACD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;oBACnB,OAAO;gBACX,CAAC;gBACD,MAAM,IAAI,GAAG,MAAM,IAAA,gBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3B,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;gBACnB,IAAI,YAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,UAAU,CAAC,qBAAqB,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;gBAClE,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACb,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC3B,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACL,CAAC;;AAlGL,oCAmGC;AAxFiB,yBAAY,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,AAAnB,CAAoB,CAAC,QAAQ;AA0FpD,KAAK,UAAU,SAAS,CAAC,UAAsB,EAAE,QAAgB,EAAE,OAAe;IACrF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE;YACvC,uBAAuB;YACvB,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxD,uBAAuB;gBACvB,IAAI,GAAG,EAAE,CAAC;oBACN,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE;oBACzB,uBAAuB;oBACvB,IAAI,GAAG,EAAE,CAAC;wBACN,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;oBACvB,CAAC;oBACD,OAAO,EAAE,CAAC;gBACd,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AASD;;GAEG;AACH,SAAgB,WAAW,CAAC,UAAkB;IAC1C,OAAQ,UAAuB,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAwB;IACpD,OAAO,WAAW,CAAC,OAAO,CAAC,MAAgB,CAAC,CAAC;AACjD,CAAC;AAiBD,SAAS,QAAQ,CAAC,YAA2B,EAAE,OAAwB;IACnE,MAAM,QAAQ,GAAG,YAAgC,CAAC;IAClD,QAAQ,CAAC,mBAAmB,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChG,QAAQ,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;IAC1C,OAAO,QAAqB,CAAC;AACjC,CAAC;AACD,SAAS,aAAa,CAAC,OAAwB;IAC3C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACnB,OAAO,IAAI,0BAAM,EAAE,CAAC;IACxB,CAAC;IACD,IAAA,0BAAM,EAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,IAAI,0BAAM,EAAE,CAAC;AAC3D,CAAC;AACD,SAAS,QAAQ,CAAC,YAA2B,EAAE,OAAwB,EAAE,QAAsB;IAC3F,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,QAAQ,CAAC,mBAAmB,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAW,QAAQ,CAAC,mBAAmB,CAAC;IACxD,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,MAAM,SAAS,GAAmB;QAC9B,EAAE,EAAE,CAAC,CAAC;QACN,MAAM,EAAE,UAAU;QAClB,QAAQ;QACR,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAChB,IAAI,EAAE,CAAC;QACP,SAAS;KACZ,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAEzC,OAAO,UAAU,CAAC;AACtB,CAAC;AAED,SAAS,YAAY,CAAC,YAA2B,EAAE,OAAwB,EAAE,UAAkB;IAC3F,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;IAEzC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAA,8BAAU,EAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,CAAC;QAC5D,QAAQ,CAAC,wEAAwE,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAS,MAAM,CAAC,YAA2B,EAAE,OAAwB,EAAE,QAAwB;IAC3F,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,YAAY,CAAC,SAAuB;IACzC,IAAI,KAAa,CAAC;IAClB,QAAQ,SAAS,EAAE,CAAC;QAChB,KAAK,wBAAY,CAAC,IAAI;YAClB,KAAK,GAAG,GAAG,CAAC;YACZ,MAAM;QACV,KAAK,wBAAY,CAAC,SAAS,CAAC;QAC5B,KAAK,wBAAY,CAAC,KAAK;YACnB,KAAK,GAAG,IAAI,CAAC;YACb,MAAM;QACV,KAAK,wBAAY,CAAC,eAAe,CAAC;QAClC,KAAK,wBAAY,CAAC,WAAW;YACzB,KAAK,GAAG,IAAI,CAAC;YACb,MAAM;QACV,KAAK,wBAAY,CAAC,kBAAkB,CAAC;QACrC,KAAK,wBAAY,CAAC,sBAAsB;YACpC,KAAK,GAAG,IAAI,CAAC;YACb,MAAM;QACV;YACI,KAAK,GAAG,GAAG,CAAC;YACZ,MAAM;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,KAAK,UAAU,SAAS,CAAiB,cAAyB,EAAE,OAAwB;IACxF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IACvC,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,KAAa,CAAC;IAE7C;;;;;;;;;;;;;;;;;OAiBG;IAEH,0DAA0D;IAE1D,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAChB,QAAQ,CAAC,eAAe,GAAG,wBAAY,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;QACnE,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,IAAoB,CAAC,CAAC;IAEzE,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAEnC,iDAAiD;IACjD,IAAI,IAAI,KAAK,wBAAY,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,QAAQ,CAAC,kBAAkB,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE3C,IAAI,CAAC;QACD,SAAS,CAAC,EAAE,GAAG,MAAM,IAAA,gBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEjE,kBAAkB;QAClB,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAE5B,MAAM,UAAU,GAAG,CAAC,MAAM,IAAA,gBAAS,EAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;QAE5B,sCAAsC;QACtC,IAAI,CAAC,IAAI,GAAG,4BAAgB,CAAC,SAAS,CAAC,KAAK,4BAAgB,CAAC,SAAS,EAAE,CAAC;YACrE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QACvC,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,4BAAgB,CAAC,gBAAgB,CAAC,KAAK,4BAAgB,CAAC,gBAAgB,EAAE,CAAC;YACnF,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC;QACvB,CAAC;QAED,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,YAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACtB,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACxB,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,QAAQ,CAAC,sBAAsB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEjH,MAAM,gBAAgB,GAAG;QACrB,eAAe,EAAE;YACb;gBACI,QAAQ,EAAE,6BAAQ,CAAC,MAAM;gBACzB,KAAK,EAAE,UAAU;aACpB;SACJ;QACD,UAAU,EAAE,oCAAW,CAAC,IAAI;KAC/B,CAAC;IACF,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,OAAwB;IAC5C,MAAM,EAAE,GAAe,sBAAsB,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;IAC3D,OAAO,EAAE,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,UAAU,CAAiB,cAAyB,EAAE,OAAwB;IACzF,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAEvC,MAAM,UAAU,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IAE7D,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEjD,QAAQ,CAAC,sBAAsB,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEjH,MAAM,IAAA,gBAAS,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAChD,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACzC,QAAQ,CAAC,SAAS,IAAI,CAAC,CAAC;IAExB,OAAO;QACH,UAAU,EAAE,oCAAW,CAAC,IAAI;KAC/B,CAAC;AACN,CAAC;AAED;;;;;;;GAOG;AACH,KAAK,UAAU,SAAS,CAAiB,cAAyB,EAAE,OAAwB;IACxF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAEvC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE3C,6EAA6E;IAC7E,6BAA6B;IAC7B,MAAM,UAAU,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IAE7D,gGAAgG;IAChG,mGAAmG;IACnG,YAAY;IAEZ,IAAI,MAAM,GAAU,cAAc,CAAC,CAAC,CAAC,CAAC,KAAc,CAAC;IAErD,oCAAoC;IACpC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,eAAe,EAAE,CAAC;IACvD,CAAC;IACD,sCAAsC;IACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,4BAAgB,CAAC,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC;QAC1D,sCAAsC;QACtC,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,eAAe,EAAE,CAAC;IACvD,CAAC;IAED,sFAAsF;IACtF,EAAE;IACF,4FAA4F;IAC5F,+DAA+D;IAC/D,yCAAyC;IACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEjD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;IACrD,IAAI,MAAM,GAAG,iBAAiB,EAAE,CAAC;QAC7B,MAAM,GAAG,iBAAiB,CAAC;IAC/B,CAAC;IACD,2DAA2D;IAC3D,IAAI,MAAM,GAAG,uCAAY,CAAC,mBAAmB,EAAE,CAAC;QAC5C,MAAM,GAAG,uCAAY,CAAC,mBAAmB,CAAC;IAC9C,CAAC;IAED,8EAA8E;IAC9E,MAAM,cAAc,GAAG,IAAA,wDAAwB,EAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IAChE,IAAI,cAAc,GAAG,CAAC,IAAI,MAAM,GAAG,cAAc,EAAE,CAAC;QAChD,MAAM,GAAG,cAAc,CAAC;IAC5B,CAAC;IAED,0EAA0E;IAC1E,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAElE,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElC,IAAI,GAAG,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;IAC3B,IAAI,CAAC;QACD,kEAAkE;QAClE,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CACxC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE;YAC3F,IAAI,GAAG,EAAE,CAAC;gBACN,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,CAAC;YACD,OAAO,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CACL,CAAC;QACF,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC;IAC3C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,YAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,sGAAsG;IACtG,8BAA8B;IAC9B,OAAO;QACH,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5F,UAAU,EAAE,oCAAW,CAAC,IAAI;KAC/B,CAAC;AACN,CAAC;AAED,KAAK,UAAU,UAAU,CAAiB,cAAyB,EAAE,OAAwB;IACzF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAEvC,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE3C,MAAM,UAAU,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IAE7D,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,sCAAsC;IACtC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,4BAAgB,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5D,yCAAyC;QACzC,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,eAAe,EAAE,CAAC;IACvD,CAAC;IAED,MAAM,IAAI,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IAEvD,IAAI,GAAG,GAAG,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;IAC9B,IAAI,CAAC;QACD,kEAAkE;QAClE,GAAG,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,EAAE;gBAC9F,IAAI,GAAG,EAAE,CAAC;oBACN,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;oBACrB,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACvB,CAAC;gBACD,OAAO,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,IAAA,0BAAM,EAAC,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC;QAC7C,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,YAAY,CAAC;QAC1C,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QACjD,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC5B,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;QACvE,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,IAAI,YAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,QAAQ,CAAC,gBAAgB,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO;QACH,eAAe,EAAE,EAAE;QACnB,UAAU,EAAE,oCAAW,CAAC,IAAI;KAC/B,CAAC;AACN,CAAC;AAED,KAAK,UAAU,gBAAgB,CAE3B,cAAyB,EACzB,OAAwB;IAExB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAEvC,MAAM,UAAU,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IAC7D,MAAM,QAAQ,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IAE3D,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IACD,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC9B,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED,KAAK,UAAU,gBAAgB,CAE3B,cAAyB,EACzB,OAAwB;IAExB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;IAEvC,MAAM,UAAU,GAAW,cAAc,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;IAE7D,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAClE,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,EAAE,UAAU,EAAE,oCAAW,CAAC,kBAAkB,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO;QACH,eAAe,EAAE;YACb;gBACI,SAAS,EAAE,qCAAgB,CAAC,MAAM;gBAClC,QAAQ,EAAE,6BAAQ,CAAC,MAAM;gBACzB,KAAK,EAAE,SAAS,CAAC,QAAQ;aAC5B;SACJ;QACD,UAAU,EAAE,oCAAW,CAAC,IAAI;KAC/B,CAAC;AACN,CAAC;AAEY,QAAA,cAAc,GAAG,SAAS,CAAC;AAExC,SAAS,6BAA6B,CAAC,YAA2B;IAC9D,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,UAAU,CAAsB,CAAC;IAC9E,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;QAC1B,OAAO;IACX,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACpC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAClD,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtD,CAAC;AAED;;;;GAIG;AACH,SAAgB,eAAe,CAAC,KAAa,EAAE,OAAoB;IAC/D,MAAM,IAAI,GAAG,KAAiB,CAAC;IAC/B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACxF,OAAO;IACX,CAAC;IAED,kDAAkD;IAClD,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEjD,sEAAsE;IACtE,mEAAmE;IACnE,kCAAkC;IAClC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,sBAAc,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAEnF,MAAM,SAAS,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAE3B,0BAA0B;IAC1B,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACvB,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,4BAAO,CAAC,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;aACxF,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAClD,CAAC"}
1
+ {"version":3,"file":"file_type_helpers.js","sourceRoot":"","sources":["../../source/server/file_type_helpers.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-file-transfer",
3
- "version": "2.153.0",
3
+ "version": "2.154.0",
4
4
  "description": "pure nodejs OPCUA SDK - module file-transfer",
5
5
  "scripts": {
6
6
  "build": "tsc -b",
@@ -15,28 +15,29 @@
15
15
  "npm": ">=8.x"
16
16
  },
17
17
  "dependencies": {
18
- "node-opcua-address-space": "2.153.0",
19
- "node-opcua-address-space-base": "2.153.0",
18
+ "node-opcua-address-space": "2.154.0",
19
+ "node-opcua-address-space-base": "2.154.0",
20
20
  "node-opcua-assert": "2.139.0",
21
- "node-opcua-basic-types": "2.153.0",
21
+ "node-opcua-basic-types": "2.154.0",
22
22
  "node-opcua-binary-stream": "2.153.0",
23
23
  "node-opcua-constants": "2.139.0",
24
- "node-opcua-data-model": "2.153.0",
24
+ "node-opcua-data-model": "2.154.0",
25
+ "node-opcua-data-value": "2.154.0",
25
26
  "node-opcua-debug": "2.153.0",
26
27
  "node-opcua-nodeid": "2.153.0",
27
- "node-opcua-pseudo-session": "2.153.0",
28
- "node-opcua-service-call": "2.153.0",
29
- "node-opcua-service-read": "2.153.0",
30
- "node-opcua-service-translate-browse-path": "2.153.0",
28
+ "node-opcua-pseudo-session": "2.154.0",
29
+ "node-opcua-service-call": "2.154.0",
30
+ "node-opcua-service-read": "2.154.0",
31
+ "node-opcua-service-translate-browse-path": "2.154.0",
31
32
  "node-opcua-status-code": "2.153.0",
32
- "node-opcua-variant": "2.153.0"
33
+ "node-opcua-variant": "2.154.0"
33
34
  },
34
35
  "devDependencies": {
35
36
  "memfs": "^4.17.0",
36
- "node-opcua": "2.153.0",
37
- "node-opcua-client": "2.153.0",
38
- "node-opcua-leak-detector": "2.153.0",
39
- "node-opcua-nodesets": "2.139.0"
37
+ "node-opcua": "2.154.0",
38
+ "node-opcua-client": "2.154.0",
39
+ "node-opcua-leak-detector": "2.154.0",
40
+ "node-opcua-nodesets": "2.154.0"
40
41
  },
41
42
  "author": "Etienne Rossignon",
42
43
  "license": "MIT",
@@ -53,7 +54,7 @@
53
54
  "internet of things"
54
55
  ],
55
56
  "homepage": "http://node-opcua.github.io/",
56
- "gitHead": "2193ed025bc9aaded76338c1c76cbc0524b3a37f",
57
+ "gitHead": "134c73195f93f46c0101b2837bed22754156c916",
57
58
  "files": [
58
59
  "dist",
59
60
  "source"
@@ -1,11 +1,11 @@
1
1
  import { Stats, PathLike, OpenMode, NoParamCallback, WriteFileOptions } from "fs";
2
2
 
3
- export interface ReadStreamOptions {
4
-
5
- }
3
+ export interface ReadStreamOptions {}
6
4
  export interface AbstractFs {
7
5
  stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void;
8
6
 
7
+ statSync(path: PathLike): Stats;
8
+
9
9
  open(path: PathLike, flags: OpenMode, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void;
10
10
 
11
11
  write<TBuffer extends NodeJS.ArrayBufferView>(
@@ -22,6 +22,7 @@ import { NodeId, NodeIdLike, sameNodeId } from "node-opcua-nodeid";
22
22
  import { CallMethodResultOptions } from "node-opcua-service-call";
23
23
  import { StatusCodes } from "node-opcua-status-code";
24
24
  import { DataType, Variant, VariantArrayType } from "node-opcua-variant";
25
+ import { DataValue } from "node-opcua-data-value";
25
26
 
26
27
  import { OpenFileMode, OpenFileModeMask } from "../open_mode";
27
28
  import { AbstractFs } from "../common/abstract_fs";
@@ -40,7 +41,7 @@ export interface FileOptions {
40
41
  */
41
42
  filename: string;
42
43
  /**
43
- * the maximum allowed size of the phisical file.
44
+ * the maximum allowed size of the physical file.
44
45
  */
45
46
  maxSize?: number;
46
47
  /**
@@ -62,7 +63,7 @@ export interface FileOptions {
62
63
  refreshFileContentFunc?: () => Promise<void>;
63
64
  }
64
65
 
65
- export interface UAFileType extends UAObjectType, UAFile_Base {}
66
+ export interface UAFileType extends UAObjectType, UAFile_Base { }
66
67
  /**
67
68
  *
68
69
  */
@@ -101,9 +102,34 @@ export class FileTypeData {
101
102
  );
102
103
  file.openCount.minimumSamplingInterval = 0; // changes immediately
103
104
 
105
+ const readFileSize = ():{ size: number, timestamp: Date } => {
106
+ const stat = (this._fs as AbstractFs).statSync(this.filename);
107
+
108
+ const size = stat.size;
109
+ const timestamp = stat.mtime;
110
+ return { size, timestamp };
111
+ }
112
+
113
+ const data = this;
104
114
  file.size.bindVariable(
105
115
  {
106
- get: () => new Variant({ dataType: DataType.UInt64, value: this._fileSize })
116
+ timestamped_get(): DataValue {
117
+ try {
118
+ const { size, timestamp } = readFileSize();
119
+ data.fileSize = size;
120
+ return new DataValue({
121
+ sourceTimestamp: timestamp,
122
+ serverTimestamp: (new Date()),
123
+ value: new Variant({ dataType: DataType.UInt64, value: data._fileSize }),
124
+ statusCode: StatusCodes.Good
125
+ });
126
+ } catch (err) {
127
+ return new DataValue({
128
+ serverTimestamp: (new Date()),
129
+ statusCode: StatusCodes.BadDataUnavailable
130
+ });
131
+ }
132
+ }
107
133
  },
108
134
  true
109
135
  );
@@ -223,7 +249,7 @@ interface FileTypeM {
223
249
  $$files: { [key: number]: FileAccessData };
224
250
  }
225
251
 
226
- interface AddressSpacePriv extends IAddressSpace, FileTypeM {}
252
+ interface AddressSpacePriv extends IAddressSpace, FileTypeM { }
227
253
  function _prepare(addressSpace: IAddressSpace, context: ISessionContext): FileTypeM {
228
254
  const _context = addressSpace as AddressSpacePriv;
229
255
  _context.$$currentFileHandle = _context.$$currentFileHandle ? _context.$$currentFileHandle : 41;