node-opcua-utils 2.157.0 → 2.165.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.
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Checks if a file exists and is strictly greater than 0 bytes.
3
+ * This is useful for guarding against race conditions where a lockfile
4
+ * system touch-creates a file just before writing to it, preventing
5
+ * clients from reading an intermediate 0-byte state.
6
+ */
7
+ export declare function checkFileExistsAndIsNotEmpty(filename: string): boolean;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.checkFileExistsAndIsNotEmpty = checkFileExistsAndIsNotEmpty;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ /**
9
+ * Checks if a file exists and is strictly greater than 0 bytes.
10
+ * This is useful for guarding against race conditions where a lockfile
11
+ * system touch-creates a file just before writing to it, preventing
12
+ * clients from reading an intermediate 0-byte state.
13
+ */
14
+ function checkFileExistsAndIsNotEmpty(filename) {
15
+ try {
16
+ return fs_1.default.statSync(filename).size > 0;
17
+ }
18
+ catch {
19
+ // file may not exist
20
+ return false;
21
+ }
22
+ }
23
+ //# sourceMappingURL=check_file_exists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check_file_exists.js","sourceRoot":"","sources":["../source/check_file_exists.ts"],"names":[],"mappings":";;;;;AAQA,oEAOC;AAfD,4CAAoB;AAEpB;;;;;GAKG;AACH,SAAgB,4BAA4B,CAAC,QAAgB;IACzD,IAAI,CAAC;QACD,OAAO,YAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACL,qBAAqB;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC"}
package/dist/index.d.ts CHANGED
@@ -26,3 +26,4 @@ export * from "./timestamp";
26
26
  export * from "./line_file";
27
27
  export * from "./match_uri";
28
28
  export { hrtime } from "./hrtime";
29
+ export { checkFileExistsAndIsNotEmpty } from "./check_file_exists";
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.hrtime = exports.replaceBufferWithHexDump = exports.setDeprecated = exports.getFunctionParameterNames = exports.compare_buffers = exports.get_clock_tick = exports.getObjectClassName = exports.lowerFirstLetter = exports.capitalizeFirstLetter = exports.buffer_ellipsis = void 0;
17
+ exports.checkFileExistsAndIsNotEmpty = exports.hrtime = exports.replaceBufferWithHexDump = exports.setDeprecated = exports.getFunctionParameterNames = exports.compare_buffers = exports.get_clock_tick = exports.getObjectClassName = exports.lowerFirstLetter = exports.capitalizeFirstLetter = exports.buffer_ellipsis = void 0;
18
18
  exports.set_flag = set_flag;
19
19
  exports.check_flag = check_flag;
20
20
  exports.isNullOrUndefined = isNullOrUndefined;
@@ -72,4 +72,6 @@ __exportStar(require("./line_file"), exports);
72
72
  __exportStar(require("./match_uri"), exports);
73
73
  var hrtime_1 = require("./hrtime");
74
74
  Object.defineProperty(exports, "hrtime", { enumerable: true, get: function () { return hrtime_1.hrtime; } });
75
+ var check_file_exists_1 = require("./check_file_exists");
76
+ Object.defineProperty(exports, "checkFileExistsAndIsNotEmpty", { enumerable: true, get: function () { return check_file_exists_1.checkFileExistsAndIsNotEmpty; } });
75
77
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAUA,4BAOC;AAKD,gCAMC;AAED,8CAEC;AAhCD;;GAEG;AACH,4BAA4B;AAC5B,yDAA2C;AAE3C;;;GAGG;AACH,SAAgB,QAAQ,CAAC,KAAa,EAAE,IAAgC;IACpE,IAAK,IAAY,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,GAAI,IAAY,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAA,0BAAM,EAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,IAAA,0BAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3B,OAAO,KAAK,GAAI,IAAe,CAAC;AACpC,CAAC;AACD;;;GAGG;AACH,SAAgB,UAAU,CAAC,KAAa,EAAE,IAAgC;IACtE,IAAK,IAAY,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,GAAI,IAAY,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAA,0BAAM,EAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,GAAI,IAAe,CAAC,KAAM,IAAe,CAAC;AAC3D,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAA0B;IACxD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACjD,CAAC;AAED,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,+CAAyE;AAAhE,qHAAA,qBAAqB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAChD,uDAAwD;AAA/C,sHAAA,kBAAkB,OAAA;AAC3B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA;AAClC,6CAA2B;AAC3B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,+EAA0E;AAAjE,wIAAA,wBAAwB,OAAA;AACjC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,mCAAgC;AAAxB,gGAAA,MAAM,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../source/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAUA,4BAOC;AAKD,gCAMC;AAED,8CAEC;AAhCD;;GAEG;AACH,4BAA4B;AAC5B,yDAA2C;AAE3C;;;GAGG;AACH,SAAgB,QAAQ,CAAC,KAAa,EAAE,IAAgC;IACpE,IAAK,IAAY,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,GAAI,IAAY,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAA,0BAAM,EAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,IAAA,0BAAM,EAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAC3B,OAAO,KAAK,GAAI,IAAe,CAAC;AACpC,CAAC;AACD;;;GAGG;AACH,SAAgB,UAAU,CAAC,KAAa,EAAE,IAAgC;IACtE,IAAK,IAAY,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,GAAI,IAAY,CAAC,KAAK,CAAC;IAC/B,CAAC;IACD,IAAA,0BAAM,EAAC,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,KAAK,GAAI,IAAe,CAAC,KAAM,IAAe,CAAC;AAC3D,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAA0B;IACxD,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC;AACjD,CAAC;AAED,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,+CAAyE;AAAhE,qHAAA,qBAAqB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAChD,uDAAwD;AAA/C,sHAAA,kBAAkB,OAAA;AAC3B,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,qDAAoD;AAA3C,kHAAA,eAAe,OAAA;AACxB,+EAA2E;AAAlE,yIAAA,yBAAyB,OAAA;AAClC,6CAA2B;AAC3B,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,+EAA0E;AAAjE,wIAAA,wBAAwB,OAAA;AACjC,8CAA4B;AAC5B,8CAA4B;AAC5B,8CAA4B;AAC5B,mCAAkC;AAAzB,gGAAA,MAAM,OAAA;AACf,yDAAmE;AAA1D,iIAAA,4BAA4B,OAAA"}
@@ -10,7 +10,7 @@ exports.setDeprecated = setDeprecated;
10
10
  // tslint:disable:ban-types
11
11
  const chalk_1 = __importDefault(require("chalk"));
12
12
  const node_opcua_assert_1 = require("node-opcua-assert");
13
- /* istanbul ignore next */
13
+ /* c8 ignore next */
14
14
  function setDeprecated(constructor, methodName, helpString) {
15
15
  const oldMethod = constructor.prototype[methodName];
16
16
  (0, node_opcua_assert_1.assert)(oldMethod instanceof Function, "expecting a valid " + methodName + "method on class " + constructor.constructor.name);
@@ -1 +1 @@
1
- {"version":3,"file":"set_deprecated.js","sourceRoot":"","sources":["../source/set_deprecated.ts"],"names":[],"mappings":";;;;;AAUA,sCAkBC;AA5BD;;GAEG;AACH,2BAA2B;AAC3B,kDAA0B;AAC1B,yDAA2C;AAI3C,0BAA0B;AAC1B,SAAgB,aAAa,CAAC,WAA6B,EAAE,UAAkB,EAAE,UAAkB;IAC/F,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEpD,IAAA,0BAAM,EAAC,SAAS,YAAY,QAAQ,EAAE,oBAAoB,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAE7H,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,IAAW;QACxD,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,4BAA4B;YAC5B,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EACxB,eAAK,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,EAAE,oBAAoB,CAAC,CACrF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,CAAC;QACV,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"set_deprecated.js","sourceRoot":"","sources":["../source/set_deprecated.ts"],"names":[],"mappings":";;;;;AAUA,sCAkBC;AA5BD;;GAEG;AACH,2BAA2B;AAC3B,kDAA0B;AAC1B,yDAA2C;AAI3C,oBAAoB;AACpB,SAAgB,aAAa,CAAC,WAA6B,EAAE,UAAkB,EAAE,UAAkB;IAC/F,MAAM,SAAS,GAAG,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAEpD,IAAA,0BAAM,EAAC,SAAS,YAAY,QAAQ,EAAE,oBAAoB,GAAG,UAAU,GAAG,kBAAkB,GAAG,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAE7H,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,UAAU,GAAG,IAAW;QACxD,IAAI,OAAO,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,4BAA4B;YAC5B,OAAO,CAAC,GAAG,CACP,eAAK,CAAC,KAAK,CAAC,WAAW,CAAC,EACxB,eAAK,CAAC,KAAK,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,UAAU,CAAC,EAAE,oBAAoB,CAAC,CACrF,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,EAAE,CAAC;QACV,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACzC,CAAC,CAAC;AACN,CAAC"}
package/dist/watchdog.js CHANGED
@@ -13,7 +13,7 @@ function hasExpired(watchDogData, currentTime) {
13
13
  }
14
14
  function keepAliveFunc() {
15
15
  (0, node_opcua_assert_1.assert)(this._watchDog instanceof WatchDog);
16
- // istanbul ignore next
16
+ // c8 ignore next
17
17
  if (!this._watchDogData || !this._watchDog) {
18
18
  throw new Error("Internal error");
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../source/watchdog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watchdog.js","sourceRoot":"","sources":["../source/watchdog.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-opcua-utils",
3
- "version": "2.157.0",
3
+ "version": "2.165.0",
4
4
  "description": "pure nodejs OPCUA SDK - module utils",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -13,7 +13,7 @@
13
13
  },
14
14
  "dependencies": {
15
15
  "chalk": "4.1.2",
16
- "node-opcua-assert": "2.157.0"
16
+ "node-opcua-assert": "2.164.0"
17
17
  },
18
18
  "author": "Etienne Rossignon",
19
19
  "license": "MIT",
@@ -30,12 +30,12 @@
30
30
  "internet of things"
31
31
  ],
32
32
  "homepage": "http://node-opcua.github.io/",
33
- "gitHead": "e0a948ac5379ae8d9cc8200a1b4a31515a35be37",
33
+ "gitHead": "fe53ac03427fcb223996446c991f7496635ba193",
34
34
  "files": [
35
35
  "dist",
36
36
  "source"
37
37
  ],
38
38
  "devDependencies": {
39
- "node-opcua-leak-detector": "2.157.0"
39
+ "node-opcua-leak-detector": "2.165.0"
40
40
  }
41
41
  }
@@ -0,0 +1,16 @@
1
+ import fs from "fs";
2
+
3
+ /**
4
+ * Checks if a file exists and is strictly greater than 0 bytes.
5
+ * This is useful for guarding against race conditions where a lockfile
6
+ * system touch-creates a file just before writing to it, preventing
7
+ * clients from reading an intermediate 0-byte state.
8
+ */
9
+ export function checkFileExistsAndIsNotEmpty(filename: string): boolean {
10
+ try {
11
+ return fs.statSync(filename).size > 0;
12
+ } catch {
13
+ // file may not exist
14
+ return false;
15
+ }
16
+ }
package/source/index.ts CHANGED
@@ -44,4 +44,5 @@ export { replaceBufferWithHexDump } from "./replace_buffer_with_hex_dump";
44
44
  export * from "./timestamp";
45
45
  export * from "./line_file";
46
46
  export * from "./match_uri";
47
- export {hrtime} from "./hrtime";
47
+ export { hrtime } from "./hrtime";
48
+ export { checkFileExistsAndIsNotEmpty } from "./check_file_exists";
@@ -7,7 +7,7 @@ import { assert } from "node-opcua-assert";
7
7
 
8
8
  import { FunctionVariadic } from "./function_variadic";
9
9
 
10
- /* istanbul ignore next */
10
+ /* c8 ignore next */
11
11
  export function setDeprecated(constructor: FunctionVariadic, methodName: string, helpString: string): void {
12
12
  const oldMethod = constructor.prototype[methodName];
13
13
 
@@ -33,7 +33,7 @@ function hasExpired(watchDogData: IWatchdogData2, currentTime: ArbitraryClockTic
33
33
 
34
34
  function keepAliveFunc(this: ISubscriber) {
35
35
  assert(this._watchDog instanceof WatchDog);
36
- // istanbul ignore next
36
+ // c8 ignore next
37
37
  if (!this._watchDogData || !this._watchDog) {
38
38
  throw new Error("Internal error");
39
39
  }