node-opcua-file-transfer 2.79.1 → 2.80.1

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.
@@ -2,7 +2,7 @@
2
2
  /**
3
3
  * @module node-opcua-file-transfer
4
4
  */
5
- import { Int32, UInt16, UInt32, UInt64 } from "node-opcua-basic-types";
5
+ import { Int32, Int64, UInt16, UInt32, UInt64 } from "node-opcua-basic-types";
6
6
  import { NodeId } from "node-opcua-nodeid";
7
7
  import { IBasicSession } from "node-opcua-pseudo-session";
8
8
  import { OpenFileMode } from "../open_mode";
@@ -29,13 +29,15 @@ export declare class ClientFile {
29
29
  close(): Promise<void>;
30
30
  getPosition(): Promise<UInt64>;
31
31
  setPosition(position: UInt64 | UInt32): Promise<void>;
32
- read(bytesToRead: Int32): Promise<Buffer>;
32
+ read(bytesToRead: UInt32 | Int32 | Int64 | UInt64): Promise<Buffer>;
33
33
  write(data: Buffer): Promise<void>;
34
34
  openCount(): Promise<UInt16>;
35
35
  size(): Promise<UInt64>;
36
36
  protected extractMethodsIds(): Promise<void>;
37
37
  protected ensureInitialized(): Promise<void>;
38
38
  }
39
+ export declare function readFile(clientFile: ClientFile): Promise<Buffer>;
40
+ export declare function readOPCUAFile(clientFile: ClientFile): Promise<Buffer>;
39
41
  /**
40
42
  * 5.2.10 UserRolePermissions
41
43
  *
@@ -9,7 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ClientFile = exports.OpenFileMode = void 0;
12
+ exports.readOPCUAFile = exports.readFile = exports.ClientFile = exports.OpenFileMode = void 0;
13
+ /**
14
+ * @module node-opcua-file-transfer
15
+ */
16
+ const node_opcua_basic_types_1 = require("node-opcua-basic-types");
13
17
  const node_opcua_data_model_1 = require("node-opcua-data-model");
14
18
  const node_opcua_nodeid_1 = require("node-opcua-nodeid");
15
19
  const node_opcua_service_translate_browse_path_1 = require("node-opcua-service-translate-browse-path");
@@ -43,9 +47,7 @@ class ClientFile {
43
47
  }
44
48
  yield this.ensureInitialized();
45
49
  const result = yield this.session.call({
46
- inputArguments: [
47
- { dataType: node_opcua_variant_1.DataType.Byte, value: mode }
48
- ],
50
+ inputArguments: [{ dataType: node_opcua_variant_1.DataType.Byte, value: mode }],
49
51
  methodId: this.openMethodNodeId,
50
52
  objectId: this.fileNodeId
51
53
  });
@@ -64,9 +66,7 @@ class ClientFile {
64
66
  }
65
67
  yield this.ensureInitialized();
66
68
  const result = yield this.session.call({
67
- inputArguments: [
68
- { dataType: node_opcua_variant_1.DataType.UInt32, value: this.fileHandle }
69
- ],
69
+ inputArguments: [{ dataType: node_opcua_variant_1.DataType.UInt32, value: this.fileHandle }],
70
70
  methodId: this.closeMethodNodeId,
71
71
  objectId: this.fileNodeId
72
72
  });
@@ -84,9 +84,7 @@ class ClientFile {
84
84
  throw new Error("File has not been opened yet");
85
85
  }
86
86
  const result = yield this.session.call({
87
- inputArguments: [
88
- { dataType: node_opcua_variant_1.DataType.UInt32, value: this.fileHandle }
89
- ],
87
+ inputArguments: [{ dataType: node_opcua_variant_1.DataType.UInt32, value: this.fileHandle }],
90
88
  methodId: this.getPositionNodeId,
91
89
  objectId: this.fileNodeId
92
90
  });
@@ -135,7 +133,7 @@ class ClientFile {
135
133
  {
136
134
  arrayType: node_opcua_variant_1.VariantArrayType.Scalar,
137
135
  dataType: node_opcua_variant_1.DataType.Int32,
138
- value: bytesToRead
136
+ value: (0, node_opcua_basic_types_1.coerceInt32)(bytesToRead)
139
137
  }
140
138
  ],
141
139
  methodId: this.readNodeId,
@@ -277,6 +275,26 @@ class ClientFile {
277
275
  }
278
276
  exports.ClientFile = ClientFile;
279
277
  ClientFile.useGlobalMethod = false;
278
+ function readFile(clientFile) {
279
+ return __awaiter(this, void 0, void 0, function* () {
280
+ yield clientFile.open(open_mode_1.OpenFileMode.Read);
281
+ try {
282
+ const fileSize = yield clientFile.size();
283
+ const data = yield clientFile.read(fileSize);
284
+ return data;
285
+ }
286
+ finally {
287
+ yield clientFile.close();
288
+ }
289
+ });
290
+ }
291
+ exports.readFile = readFile;
292
+ function readOPCUAFile(clientFile) {
293
+ return __awaiter(this, void 0, void 0, function* () {
294
+ return yield readFile(clientFile);
295
+ });
296
+ }
297
+ exports.readOPCUAFile = readOPCUAFile;
280
298
  /**
281
299
  * 5.2.10 UserRolePermissions
282
300
  *
@@ -1 +1 @@
1
- {"version":3,"file":"client_file.js","sourceRoot":"","sources":["../../source/client/client_file.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,iEAAqD;AACrD,yDAA0D;AAG1D,uGAAsF;AACtF,mEAAqD;AACrD,2DAAgE;AAChE,+DAAiD;AAEjD,uDAAgF;AAEhF,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,QAAQ,GAAG,IAAA,gCAAa,EAAC,UAAU,CAAC,CAAC;AAC3C,MAAM,OAAO,GAAG,IAAA,iCAAc,EAAC,UAAU,CAAC,CAAC;AAE3C,4CAA4C;AAC5C,0CAA4C;AAAnC,yGAAA,YAAY,OAAA;AAErB;;;GAGG;AACH,MAAa,UAAU;IAiBnB,YAAY,OAAsB,EAAE,MAAc;QAbxC,eAAU,GAAG,CAAC,CAAC;QAcrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC;IAC7B,CAAC;IAEY,IAAI,CAAC,IAAkB;;YAEhC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,EAAE;gBACrC,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,wBAAY,CAAC,IAAI,CAAC,CAAC,CAAC;aAClE;YACD,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;aACjD;YACD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,cAAc,EAAE;oBACZ,EAAE,QAAQ,EAAE,6BAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,IAAY,EAAE;iBACnD;gBACD,QAAQ,EAAE,IAAI,CAAC,gBAAgB;gBAC/B,QAAQ,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBACxC,QAAQ,CAAC,qBAAqB,CAAC,CAAC;gBAChC,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,GAAG,UAAU,GAAG,wBAAY,CAAC,IAAI,CAAC,CAAC,CAAC;aACtH;YAED,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAEnD,OAAO,IAAI,CAAC,UAAU,CAAC;QAC3B,CAAC;KAAA;IAEY,KAAK;;YACd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACnD;YACD,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,cAAc,EAAE;oBACZ,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;iBACxD;gBACD,QAAQ,EAAE,IAAI,CAAC,iBAAiB;gBAChC,QAAQ,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBACxC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;aACrF;YAED,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACxB,CAAC;KAAA;IAEY,WAAW;;YACpB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACnD;YAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,cAAc,EAAE;oBACZ,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;iBACxD;gBACD,QAAQ,EAAE,IAAI,CAAC,iBAAiB;gBAChC,QAAQ,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5D;YACD,OAAO,MAAM,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;QACtD,CAAC;KAAA;IAEY,WAAW,CAAC,QAAyB;;YAC9C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACnD;YACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;gBAC9B,QAAQ,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;aAC5B;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,cAAc,EAAE;oBACZ,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;oBACrD;wBACI,SAAS,EAAE,qCAAgB,CAAC,MAAM;wBAClC,QAAQ,EAAE,6BAAQ,CAAC,MAAM;wBACzB,KAAK,EAAE,QAAQ;qBAClB;iBACJ;gBACD,QAAQ,EAAE,IAAI,CAAC,iBAAiB;gBAChC,QAAQ,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5D;YACD,OAAO;QACX,CAAC;KAAA;IAEY,IAAI,CAAC,WAAkB;;YAChC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACnD;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,cAAc,EAAE;oBACZ,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;oBACrD;wBACI,SAAS,EAAE,qCAAgB,CAAC,MAAM;wBAClC,QAAQ,EAAE,6BAAQ,CAAC,KAAK;wBACxB,KAAK,EAAE,WAAW;qBACrB;iBACJ;gBACD,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,QAAQ,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5D;YACD,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,6BAAQ,CAAC,UAAU,EAAE;gBACvF,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;aAC3C;YACD,OAAO,MAAM,CAAC,eAAgB,CAAC,CAAC,CAAC,CAAC,KAAe,CAAC;QACtD,CAAC;KAAA;IAEY,KAAK,CAAC,IAAY;;YAC3B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;aACnD;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,cAAc,EAAE;oBACZ,EAAE,QAAQ,EAAE,6BAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,UAAU,EAAE;oBACrD;wBACI,SAAS,EAAE,qCAAgB,CAAC,MAAM;wBAClC,QAAQ,EAAE,6BAAQ,CAAC,UAAU;wBAC7B,KAAK,EAAE,IAAI;qBACd;iBACJ;gBACD,QAAQ,EAAE,IAAI,CAAC,WAAW;gBAC1B,QAAQ,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBACxC,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;aAC5D;YACD,OAAO;QACX,CAAC;KAAA;IAEY,SAAS;;YAClB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAuB,EAAE,MAAM,EAAE,IAAI,CAAC,eAAgB,EAAE,WAAW,EAAE,oCAAY,CAAC,KAAK,EAAE,CAAC;YAC1G,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEtD,IAAI,OAAO,EAAE;gBACT,QAAQ,CAAC,aAAa,EAAE,UAAU,CAAC,MAAO,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC;aAChF;YACD,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC;KAAA;IAEY,IAAI;;YACb,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,EAAE,WAAW,EAAE,oCAAY,CAAC,KAAK,EAAE,CAAC;YAChF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtD,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;QACjC,CAAC;KAAA;IAED,0CAA0C;IAC1B,iBAAiB;;YAE7B,IAAI,UAAU,CAAC,eAAe,EAAE;gBAC5B,QAAQ,CAAC,sBAAsB,CAAC,CAAC;gBACjC,IAAI,CAAC,gBAAgB,GAAG,IAAA,iCAAa,EAAC,gCAAS,CAAC,aAAa,CAAC,CAAC;gBAC/D,IAAI,CAAC,iBAAiB,GAAG,IAAA,iCAAa,EAAC,gCAAS,CAAC,cAAc,CAAC,CAAC;gBACjE,IAAI,CAAC,iBAAiB,GAAG,IAAA,iCAAa,EAAC,gCAAS,CAAC,oBAAoB,CAAC,CAAC;gBACvE,IAAI,CAAC,iBAAiB,GAAG,IAAA,iCAAa,EAAC,gCAAS,CAAC,oBAAoB,CAAC,CAAC;gBACvE,IAAI,CAAC,WAAW,GAAG,IAAA,iCAAa,EAAC,gCAAS,CAAC,cAAc,CAAC,CAAC;gBAC3D,IAAI,CAAC,UAAU,GAAG,IAAA,iCAAa,EAAC,gCAAS,CAAC,aAAa,CAAC,CAAC;gBACzD,MAAM,WAAW,GAAiB;oBAC9B,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;oBAC7C,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;iBAC3C,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;gBACpE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;oBAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;iBACnF;gBACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;oBAC5C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;iBAC9E;gBACD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACvD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAClD,OAAO;aACV;YACD,MAAM,WAAW,GAAiB;gBAC9B,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;gBACxC,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACzC,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC;gBAC/C,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC;gBAC/C,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC;gBACzC,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;gBACxC,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC;gBAC7C,IAAA,yDAAc,EAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;aAC3C,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;YAEpE,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC5E;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;aAC7E;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;aACnF;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;aACnF;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;aAC7E;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;aAC5E;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;aACnF;YACD,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,oCAAW,CAAC,IAAI,EAAE;gBAC5C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;aAC9E;YAED,IAAI,KAAK,IAAI,OAAO,EAAE;gBAClB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;aACnD;YACD,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACzD,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACnD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YAClD,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACvD,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,OAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACtD,CAAC;KAAA;IAEe,iBAAiB;;YAC7B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBACxB,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAClC;QACL,CAAC;KAAA;;AAvQL,gCAwQC;AAtQiB,0BAAe,GAAG,KAAK,CAAC;AAwQ1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG"}
1
+ {"version":3,"file":"client_file.js","sourceRoot":"","sources":["../../source/client/client_file.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@
3
3
  /// <reference types="node" />
4
4
  import { Stats, PathLike, OpenMode, NoParamCallback, WriteFileOptions } from "fs";
5
5
  import { UAFile, UAFile_Base, UAObjectType } from "node-opcua-address-space";
6
+ import { NodeIdLike } from "node-opcua-nodeid";
6
7
  export interface AbstractFs {
7
8
  stat(path: PathLike, callback: (err: NodeJS.ErrnoException | null, stats: Stats) => void): void;
8
9
  open(path: PathLike, flags: OpenMode, callback: (err: NodeJS.ErrnoException | null, fd: number) => void): void;
@@ -31,8 +32,10 @@ export interface FileOptions {
31
32
  /**
32
33
  * an optional mimeType
33
34
  */
34
- mineType?: string;
35
+ mimeType?: string;
35
36
  fileSystem?: AbstractFs;
37
+ nodeId?: NodeIdLike;
38
+ refreshFileContentFunc?: () => Promise<void>;
36
39
  }
37
40
  export interface UAFileType extends UAObjectType, UAFile_Base {
38
41
  }
@@ -47,6 +50,7 @@ export declare class FileTypeData {
47
50
  private file;
48
51
  private _openCount;
49
52
  private _fileSize;
53
+ refreshFileContentFunc?: () => Promise<void>;
50
54
  constructor(options: FileOptions, file: UAFile);
51
55
  set openCount(value: number);
52
56
  get openCount(): number;
@@ -59,7 +63,9 @@ export declare class FileTypeData {
59
63
  *
60
64
  */
61
65
  refresh(): Promise<void>;
66
+ refreshFileContent(): Promise<void>;
62
67
  }
68
+ export declare function writeFile(fileSystem: AbstractFs, filename: string, content: Buffer): Promise<void>;
63
69
  export declare function getFileData(opcuaFile2: UAFile): FileTypeData;
64
70
  export declare const defaultMaxSize = 100000000;
65
71
  /**
@@ -67,4 +73,4 @@ export declare const defaultMaxSize = 100000000;
67
73
  * @param file the OPCUA Node that has a typeDefinition of FileType
68
74
  * @param options the options
69
75
  */
70
- export declare function installFileType(file: UAFile, options: FileOptions): void;
76
+ export declare function installFileType(_file: UAFile, options: FileOptions): void;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.installFileType = exports.defaultMaxSize = exports.getFileData = exports.FileTypeData = void 0;
12
+ exports.installFileType = exports.defaultMaxSize = exports.getFileData = exports.writeFile = exports.FileTypeData = void 0;
13
13
  /**
14
14
  * @module node-opcua-file-transfer
15
15
  */
@@ -37,19 +37,20 @@ class FileTypeData {
37
37
  this._fileSize = 0;
38
38
  this.file = file;
39
39
  this._fs = options.fileSystem || fsOrig;
40
+ this.refreshFileContentFunc = options.refreshFileContentFunc;
40
41
  this.filename = options.filename;
41
42
  this.maxSize = options.maxSize;
42
- this.mimeType = options.mineType || "";
43
+ this.mimeType = options.mimeType || "";
43
44
  // openCount indicates the number of currently valid file handles on the file.
44
45
  this._openCount = 0;
45
46
  file.openCount.bindVariable({
46
47
  get: () => new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.UInt16, value: this._openCount })
47
48
  }, true);
48
- file.openCount.minimumSamplingInterval = 0; // changed immediatly
49
+ file.openCount.minimumSamplingInterval = 0; // changes immediately
49
50
  file.size.bindVariable({
50
51
  get: () => new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.UInt64, value: this._fileSize })
51
52
  }, true);
52
- file.size.minimumSamplingInterval = 0; // changed immediatly
53
+ file.size.minimumSamplingInterval = 0; // changes immediately
53
54
  this.refresh();
54
55
  }
55
56
  set openCount(value) {
@@ -97,8 +98,42 @@ class FileTypeData {
97
98
  })(this);
98
99
  });
99
100
  }
101
+ refreshFileContent() {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ if (this.refreshFileContentFunc) {
104
+ yield this.refreshFileContentFunc();
105
+ yield this.refresh();
106
+ }
107
+ });
108
+ }
100
109
  }
101
110
  exports.FileTypeData = FileTypeData;
111
+ function writeFile(fileSystem, filename, content) {
112
+ return __awaiter(this, void 0, void 0, function* () {
113
+ yield new Promise((resolve, reject) => {
114
+ fileSystem.open(filename, "w", (err, fd) => {
115
+ // istanbul ignore next
116
+ if (err) {
117
+ return reject(err);
118
+ }
119
+ fileSystem.write(fd, content, 0, content.length, 0, (err) => {
120
+ // istanbul ignore next
121
+ if (err) {
122
+ return reject(err);
123
+ }
124
+ fileSystem.close(fd, (err) => {
125
+ // istanbul ignore next
126
+ if (err) {
127
+ return reject(err);
128
+ }
129
+ resolve();
130
+ });
131
+ });
132
+ });
133
+ });
134
+ });
135
+ }
136
+ exports.writeFile = writeFile;
102
137
  function getFileData(opcuaFile2) {
103
138
  return opcuaFile2.$fileData;
104
139
  }
@@ -236,6 +271,10 @@ function _openFile(inputArguments, context) {
236
271
  }
237
272
  const fileData = context.object.$fileData;
238
273
  const filename = fileData.filename;
274
+ // make sure file is up to date ... by delegating
275
+ if (mode === open_mode_1.OpenFileMode.Read) {
276
+ yield fileData.refreshFileContent();
277
+ }
239
278
  const abstractFs = _getFileSystem(context);
240
279
  try {
241
280
  _fileInfo.fd = yield (0, util_1.promisify)(abstractFs.open)(filename, flags);
@@ -273,7 +312,7 @@ function _openFile(inputArguments, context) {
273
312
  });
274
313
  }
275
314
  function _getFileSystem(context) {
276
- const fs = context.object.$fs;
315
+ const fs = context.object.$fileData._fs;
277
316
  return fs;
278
317
  }
279
318
  /**
@@ -460,12 +499,12 @@ function install_method_handle_on_type(addressSpace) {
460
499
  * @param file the OPCUA Node that has a typeDefinition of FileType
461
500
  * @param options the options
462
501
  */
463
- function installFileType(file, options) {
502
+ function installFileType(_file, options) {
503
+ const file = _file;
464
504
  if (file.$fileData) {
465
505
  errorLog("File already installed ", file.nodeId.toString(), file.browseName.toString());
466
506
  return;
467
507
  }
468
- file.$fs = options.fileSystem || fsOrig;
469
508
  // make sure that FileType methods are also bound.
470
509
  install_method_handle_on_type(file.addressSpace);
471
510
  // to protect the server we setup a maximum limit in bytes on the file
@@ -475,10 +514,10 @@ function installFileType(file, options) {
475
514
  const $fileData = new FileTypeData(options, file);
476
515
  file.$fileData = $fileData;
477
516
  // ----- install mime type
478
- if (options.mineType) {
517
+ if (options.mimeType) {
479
518
  if (file.mimeType) {
480
519
  file.mimeType.bindVariable({
481
- get: () => file.$fileOptions.mineType
520
+ get: () => new node_opcua_variant_1.Variant({ dataType: node_opcua_variant_1.DataType.String, value: file.$fileData.mimeType })
482
521
  });
483
522
  }
484
523
  }
@@ -1 +1 @@
1
- {"version":3,"file":"file_type_helpers.js","sourceRoot":"","sources":["../../source/server/file_type_helpers.ts"],"names":[],"mappings":"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"}
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.79.1",
3
+ "version": "2.80.1",
4
4
  "description": "pure nodejs OPCUA SDK - module -server",
5
5
  "scripts": {
6
6
  "build": "tsc -b",
@@ -11,7 +11,7 @@
11
11
  "main": "./dist/index.js",
12
12
  "types": "./dist/index.d.ts",
13
13
  "dependencies": {
14
- "node-opcua-address-space": "2.79.1",
14
+ "node-opcua-address-space": "2.80.0",
15
15
  "node-opcua-assert": "2.77.0",
16
16
  "node-opcua-basic-types": "2.79.0",
17
17
  "node-opcua-constants": "2.77.0",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "devDependencies": {
29
29
  "memfs": "^3.4.7",
30
- "node-opcua-client": "2.79.1",
30
+ "node-opcua-client": "2.80.0",
31
31
  "node-opcua-leak-detector": "2.77.0",
32
32
  "node-opcua-nodesets": "2.77.0",
33
33
  "should": "^13.2.3"
@@ -47,5 +47,5 @@
47
47
  "internet of things"
48
48
  ],
49
49
  "homepage": "http://node-opcua.github.io/",
50
- "gitHead": "84a0b2555b1bdbfd0c25151621c5522b03f4fb34"
50
+ "gitHead": "0743465c11b6d1e615093e3839938583ec572b15"
51
51
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module node-opcua-file-transfer
3
3
  */
4
- import { Byte, Int32, UInt16, UInt32, UInt64 } from "node-opcua-basic-types";
4
+ import { Byte, coerceInt32, Int32, Int64, UInt16, UInt32, UInt64 } from "node-opcua-basic-types";
5
5
  import { AttributeIds } from "node-opcua-data-model";
6
6
  import { NodeId, resolveNodeId } from "node-opcua-nodeid";
7
7
  import { IBasicSession } from "node-opcua-pseudo-session";
@@ -25,10 +25,9 @@ export { OpenFileMode } from "../open_mode";
25
25
  *
26
26
  */
27
27
  export class ClientFile {
28
-
29
28
  public static useGlobalMethod = false;
30
29
 
31
- public fileHandle = 0;
30
+ public fileHandle = 0;
32
31
  protected session: IBasicSession;
33
32
  protected readonly fileNodeId: NodeId;
34
33
 
@@ -47,7 +46,6 @@ export class ClientFile {
47
46
  }
48
47
 
49
48
  public async open(mode: OpenFileMode): Promise<number> {
50
-
51
49
  if (mode === null || mode === undefined) {
52
50
  throw new Error("expecting a validMode " + OpenFileMode[mode]);
53
51
  }
@@ -57,9 +55,7 @@ export class ClientFile {
57
55
  await this.ensureInitialized();
58
56
 
59
57
  const result = await this.session.call({
60
- inputArguments: [
61
- { dataType: DataType.Byte, value: mode as Byte }
62
- ],
58
+ inputArguments: [{ dataType: DataType.Byte, value: mode as Byte }],
63
59
  methodId: this.openMethodNodeId,
64
60
  objectId: this.fileNodeId
65
61
  });
@@ -80,9 +76,7 @@ export class ClientFile {
80
76
  await this.ensureInitialized();
81
77
 
82
78
  const result = await this.session.call({
83
- inputArguments: [
84
- { dataType: DataType.UInt32, value: this.fileHandle }
85
- ],
79
+ inputArguments: [{ dataType: DataType.UInt32, value: this.fileHandle }],
86
80
  methodId: this.closeMethodNodeId,
87
81
  objectId: this.fileNodeId
88
82
  });
@@ -101,9 +95,7 @@ export class ClientFile {
101
95
  }
102
96
 
103
97
  const result = await this.session.call({
104
- inputArguments: [
105
- { dataType: DataType.UInt32, value: this.fileHandle }
106
- ],
98
+ inputArguments: [{ dataType: DataType.UInt32, value: this.fileHandle }],
107
99
  methodId: this.getPositionNodeId,
108
100
  objectId: this.fileNodeId
109
101
  });
@@ -139,7 +131,7 @@ export class ClientFile {
139
131
  return;
140
132
  }
141
133
 
142
- public async read(bytesToRead: Int32): Promise<Buffer> {
134
+ public async read(bytesToRead: UInt32 | Int32 | Int64 | UInt64): Promise<Buffer> {
143
135
  await this.ensureInitialized();
144
136
  if (!this.fileHandle) {
145
137
  throw new Error("File has not been opened yet");
@@ -150,7 +142,7 @@ export class ClientFile {
150
142
  {
151
143
  arrayType: VariantArrayType.Scalar,
152
144
  dataType: DataType.Int32,
153
- value: bytesToRead
145
+ value: coerceInt32(bytesToRead)
154
146
  }
155
147
  ],
156
148
  methodId: this.readNodeId,
@@ -208,7 +200,6 @@ export class ClientFile {
208
200
 
209
201
  // eslint-disable-next-line max-statements
210
202
  protected async extractMethodsIds(): Promise<void> {
211
-
212
203
  if (ClientFile.useGlobalMethod) {
213
204
  debugLog("Using GlobalMethodId");
214
205
  this.openMethodNodeId = resolveNodeId(MethodIds.FileType_Open);
@@ -290,6 +281,22 @@ export class ClientFile {
290
281
  }
291
282
  }
292
283
 
284
+ export async function readFile(clientFile: ClientFile): Promise<Buffer> {
285
+ await clientFile.open(OpenFileMode.Read);
286
+ try {
287
+ const fileSize = await clientFile.size();
288
+ const data = await clientFile.read(fileSize);
289
+ return data;
290
+ } finally {
291
+ await clientFile.close();
292
+ }
293
+ }
294
+
295
+ export async function readOPCUAFile(clientFile: ClientFile): Promise<Buffer> {
296
+ return await readFile(clientFile);
297
+ }
298
+
299
+
293
300
  /**
294
301
  * 5.2.10 UserRolePermissions
295
302
  *
@@ -18,7 +18,7 @@ import {
18
18
  } from "node-opcua-address-space";
19
19
  import { Byte, Int32, UInt32, UInt64 } from "node-opcua-basic-types";
20
20
  import { checkDebugFlag, make_debugLog, make_errorLog, make_warningLog } from "node-opcua-debug";
21
- import { NodeId, sameNodeId } from "node-opcua-nodeid";
21
+ 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";
@@ -87,9 +87,13 @@ export interface FileOptions {
87
87
  /**
88
88
  * an optional mimeType
89
89
  */
90
- mineType?: string;
90
+ mimeType?: string;
91
91
 
92
92
  fileSystem?: AbstractFs;
93
+
94
+ nodeId?: NodeIdLike;
95
+
96
+ refreshFileContentFunc?: () => Promise<void>;
93
97
  }
94
98
 
95
99
  export interface UAFileType extends UAObjectType, UAFile_Base {}
@@ -106,13 +110,16 @@ export class FileTypeData {
106
110
  private _openCount = 0;
107
111
  private _fileSize = 0;
108
112
 
113
+ public refreshFileContentFunc?: () => Promise<void>;
114
+
109
115
  constructor(options: FileOptions, file: UAFile) {
110
116
  this.file = file;
111
117
  this._fs = options.fileSystem || fsOrig;
118
+ this.refreshFileContentFunc = options.refreshFileContentFunc;
112
119
 
113
120
  this.filename = options.filename;
114
121
  this.maxSize = options.maxSize!;
115
- this.mimeType = options.mineType || "";
122
+ this.mimeType = options.mimeType || "";
116
123
  // openCount indicates the number of currently valid file handles on the file.
117
124
  this._openCount = 0;
118
125
  file.openCount.bindVariable(
@@ -121,7 +128,7 @@ export class FileTypeData {
121
128
  },
122
129
  true
123
130
  );
124
- file.openCount.minimumSamplingInterval = 0; // changed immediatly
131
+ file.openCount.minimumSamplingInterval = 0; // changes immediately
125
132
 
126
133
  file.size.bindVariable(
127
134
  {
@@ -130,7 +137,7 @@ export class FileTypeData {
130
137
  true
131
138
  );
132
139
 
133
- file.size.minimumSamplingInterval = 0; // changed immediatly
140
+ file.size.minimumSamplingInterval = 0; // changes immediately
134
141
 
135
142
  this.refresh();
136
143
  }
@@ -180,10 +187,45 @@ export class FileTypeData {
180
187
  }
181
188
  })(this);
182
189
  }
190
+
191
+ public async refreshFileContent() {
192
+ if (this.refreshFileContentFunc) {
193
+ await this.refreshFileContentFunc();
194
+ await this.refresh();
195
+ }
196
+ }
197
+ }
198
+
199
+ export async function writeFile(fileSystem: AbstractFs, filename: string, content: Buffer): Promise<void> {
200
+ await new Promise<void>((resolve, reject) => {
201
+ fileSystem.open(filename, "w", (err, fd) => {
202
+ // istanbul ignore next
203
+ if (err) {
204
+ return reject(err);
205
+ }
206
+ fileSystem.write(fd, content, 0, content.length, 0, (err) => {
207
+ // istanbul ignore next
208
+ if (err) {
209
+ return reject(err);
210
+ }
211
+ fileSystem.close(fd, (err) => {
212
+ // istanbul ignore next
213
+ if (err) {
214
+ return reject(err);
215
+ }
216
+ resolve();
217
+ });
218
+ });
219
+ });
220
+ });
221
+ }
222
+
223
+ interface UAFileEx extends UAFile {
224
+ $fileData: FileTypeData;
183
225
  }
184
226
 
185
227
  export function getFileData(opcuaFile2: UAFile): FileTypeData {
186
- return (opcuaFile2 as any).$fileData as FileTypeData;
228
+ return (opcuaFile2 as UAFileEx).$fileData;
187
229
  }
188
230
 
189
231
  interface FileAccessData {
@@ -343,10 +385,15 @@ async function _openFile(this: UAMethod, inputArguments: Variant[], context: ISe
343
385
  return { statusCode: StatusCodes.BadInvalidArgument };
344
386
  }
345
387
 
346
- const fileData = (context.object as any).$fileData as FileTypeData;
388
+ const fileData = (context.object as UAFileEx).$fileData;
347
389
 
348
390
  const filename = fileData.filename;
349
391
 
392
+ // make sure file is up to date ... by delegating
393
+ if (mode === OpenFileMode.Read) {
394
+ await fileData.refreshFileContent();
395
+ }
396
+
350
397
  const abstractFs = _getFileSystem(context);
351
398
 
352
399
  try {
@@ -389,8 +436,8 @@ async function _openFile(this: UAMethod, inputArguments: Variant[], context: ISe
389
436
  return callMethodResult;
390
437
  }
391
438
 
392
- function _getFileSystem(context: ISessionContext) {
393
- const fs: AbstractFs = (context.object as any).$fs;
439
+ function _getFileSystem(context: ISessionContext): AbstractFs {
440
+ const fs: AbstractFs = (context.object as UAFileEx).$fileData._fs;
394
441
  return fs;
395
442
  }
396
443
 
@@ -414,7 +461,7 @@ async function _closeFile(this: UAMethod, inputArguments: Variant[], context: IS
414
461
  return { statusCode: StatusCodes.BadInvalidArgument };
415
462
  }
416
463
 
417
- const data = (context.object as any).$fileData as FileTypeData;
464
+ const data = (context.object as UAFileEx).$fileData as FileTypeData;
418
465
 
419
466
  debugLog("Closing file handle ", fileHandle, "filename: ", data.filename, "openCount: ", data.openCount);
420
467
 
@@ -531,7 +578,7 @@ async function _writeFile(this: UAMethod, inputArguments: Variant[], context: IS
531
578
  _fileInfo.position[1] += ret.bytesWritten;
532
579
  _fileInfo.size = Math.max(_fileInfo.size, _fileInfo.position[1]);
533
580
 
534
- const fileTypeData = (context.object as any).$fileData as FileTypeData;
581
+ const fileTypeData = (context.object as UAFileEx).$fileData as FileTypeData;
535
582
  debugLog(fileTypeData.fileSize);
536
583
  fileTypeData.fileSize = Math.max(fileTypeData.fileSize, _fileInfo.position[1]);
537
584
  debugLog(fileTypeData.fileSize);
@@ -595,7 +642,7 @@ async function _getPositionFile(
595
642
  export const defaultMaxSize = 100000000;
596
643
 
597
644
  function install_method_handle_on_type(addressSpace: IAddressSpace): void {
598
- const fileType = addressSpace.findObjectType("FileType") as any;
645
+ const fileType = addressSpace.findObjectType("FileType") as unknown as UAFile;
599
646
  if (fileType.open.isBound()) {
600
647
  return;
601
648
  }
@@ -612,12 +659,12 @@ function install_method_handle_on_type(addressSpace: IAddressSpace): void {
612
659
  * @param file the OPCUA Node that has a typeDefinition of FileType
613
660
  * @param options the options
614
661
  */
615
- export function installFileType(file: UAFile, options: FileOptions): void {
616
- if ((file as any).$fileData) {
662
+ export function installFileType(_file: UAFile, options: FileOptions): void {
663
+ const file = _file as UAFileEx;
664
+ if (file.$fileData) {
617
665
  errorLog("File already installed ", file.nodeId.toString(), file.browseName.toString());
618
666
  return;
619
667
  }
620
- (file as any).$fs = options.fileSystem || fsOrig;
621
668
 
622
669
  // make sure that FileType methods are also bound.
623
670
  install_method_handle_on_type(file.addressSpace);
@@ -628,13 +675,13 @@ export function installFileType(file: UAFile, options: FileOptions): void {
628
675
  options.maxSize = options.maxSize === undefined ? defaultMaxSize : options.maxSize;
629
676
 
630
677
  const $fileData = new FileTypeData(options, file);
631
- (file as any).$fileData = $fileData;
678
+ file.$fileData = $fileData;
632
679
 
633
680
  // ----- install mime type
634
- if (options.mineType) {
681
+ if (options.mimeType) {
635
682
  if (file.mimeType) {
636
683
  file.mimeType.bindVariable({
637
- get: () => (file as any).$fileOptions.mineType
684
+ get: () => new Variant({ dataType: DataType.String, value: file.$fileData.mimeType })
638
685
  });
639
686
  }
640
687
  }