ssh2-sftp-client 9.0.3 → 9.1.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.
package/src/utils.js CHANGED
@@ -28,6 +28,18 @@ function errorListener(client, name, reject) {
28
28
  return fn;
29
29
  }
30
30
 
31
+ function globalListener(client, evt) {
32
+ return () => {
33
+ if (client.endCalled || client.errorHandled || client.closeHandled) {
34
+ // we are processing an expected event handled elsewhere
35
+ client.debugMsg(`Global ${evt} event: Ignoring expected and handled event`);
36
+ } else {
37
+ client.debugMsg(`Global ${evt} event: Handling unexpected event`);
38
+ client.sftp = undefined;
39
+ }
40
+ };
41
+ }
42
+
31
43
  function endListener(client, name, reject) {
32
44
  const fn = function () {
33
45
  client.sftp = undefined;
@@ -239,10 +251,10 @@ async function normalizeRemotePath(client, aPath) {
239
251
  try {
240
252
  if (aPath.startsWith('..')) {
241
253
  const root = await client.realPath('..');
242
- return root + client.remotePathSep + aPath.slice(3);
254
+ return `${root}/${aPath.slice(3)}`;
243
255
  } else if (aPath.startsWith('.')) {
244
256
  const root = await client.realPath('.');
245
- return root + client.remotePathSep + aPath.slice(2);
257
+ return `${root}/${aPath.slice(2)}`;
246
258
  }
247
259
  return aPath;
248
260
  } catch (err) {
@@ -277,9 +289,13 @@ function haveConnection(client, name, reject) {
277
289
  function sleep(ms) {
278
290
  return new Promise((resolve, reject) => {
279
291
  try {
280
- setTimeout(() => {
281
- resolve(true);
282
- }, ms);
292
+ if (isNaN(ms) || ms < 0) {
293
+ reject('Argument must be anumber >= 0');
294
+ } else {
295
+ setTimeout(() => {
296
+ resolve(true);
297
+ }, ms);
298
+ }
283
299
  } catch (err) {
284
300
  reject(err);
285
301
  }
@@ -287,6 +303,7 @@ function sleep(ms) {
287
303
  }
288
304
 
289
305
  module.exports = {
306
+ globalListener,
290
307
  errorListener,
291
308
  endListener,
292
309
  closeListener,