@ibm-aspera/sdk 0.11.0 → 0.19.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/README.md +1 -0
- package/dist/commonjs/app/core.d.ts +202 -19
- package/dist/commonjs/app/core.js +412 -80
- package/dist/commonjs/app/status.d.ts +24 -0
- package/dist/commonjs/app/status.js +96 -0
- package/dist/commonjs/connect/core.d.ts +2 -1
- package/dist/commonjs/connect/core.js +17 -2
- package/dist/commonjs/constants/messages.d.ts +10 -0
- package/dist/commonjs/constants/messages.js +12 -2
- package/dist/commonjs/http-gateway/core.d.ts +10 -1
- package/dist/commonjs/http-gateway/core.js +38 -4
- package/dist/commonjs/http-gateway/index.d.ts +2 -2
- package/dist/commonjs/http-gateway/index.js +2 -1
- package/dist/commonjs/http-gateway/upload.js +1 -1
- package/dist/commonjs/index.d.ts +3 -3
- package/dist/commonjs/index.js +15 -1
- package/dist/commonjs/models/aspera-sdk.model.d.ts +23 -30
- package/dist/commonjs/models/aspera-sdk.model.js +15 -64
- package/dist/commonjs/models/models.d.ts +77 -1
- package/dist/js/aspera-sdk.js +1 -1
- package/dist/js/aspera-sdk.js.LICENSE.txt +1 -1
- package/dist/js/aspera-sdk.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.statusService = void 0;
|
|
4
|
+
var helpers_1 = require("../helpers/helpers");
|
|
5
|
+
var index_1 = require("../index");
|
|
6
|
+
var StatusService = /** @class */ (function () {
|
|
7
|
+
function StatusService() {
|
|
8
|
+
this.currentStatus = undefined;
|
|
9
|
+
this.callbacks = new Map();
|
|
10
|
+
this.pollTimerId = null;
|
|
11
|
+
this.failTimeoutId = null;
|
|
12
|
+
}
|
|
13
|
+
StatusService.prototype.getStatus = function () {
|
|
14
|
+
return this.currentStatus;
|
|
15
|
+
};
|
|
16
|
+
StatusService.prototype.setStatus = function (status) {
|
|
17
|
+
// When Desktop disconnects, remap to DEGRADED if HTTP Gateway is available
|
|
18
|
+
if (status === 'DISCONNECTED' && index_1.asperaSdk.httpGatewayIsReady) {
|
|
19
|
+
status = 'DEGRADED';
|
|
20
|
+
}
|
|
21
|
+
if (this.currentStatus === status) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
// Manage Desktop verification state based on status transitions
|
|
25
|
+
if (status === 'DISCONNECTED' || status === 'DEGRADED') {
|
|
26
|
+
index_1.asperaSdk.globals.asperaAppVerified = false;
|
|
27
|
+
}
|
|
28
|
+
else if (status === 'RUNNING' && (this.currentStatus === 'DISCONNECTED' || this.currentStatus === 'DEGRADED')) {
|
|
29
|
+
index_1.asperaSdk.globals.asperaAppVerified = true;
|
|
30
|
+
}
|
|
31
|
+
this.currentStatus = status;
|
|
32
|
+
this.callbacks.forEach(function (cb) { return cb(status); });
|
|
33
|
+
};
|
|
34
|
+
StatusService.prototype.registerCallback = function (cb) {
|
|
35
|
+
var id = "status-".concat((0, helpers_1.randomUUID)());
|
|
36
|
+
this.callbacks.set(id, cb);
|
|
37
|
+
if (this.currentStatus !== undefined) {
|
|
38
|
+
cb(this.currentStatus);
|
|
39
|
+
}
|
|
40
|
+
return id;
|
|
41
|
+
};
|
|
42
|
+
StatusService.prototype.deregisterCallback = function (id) {
|
|
43
|
+
this.callbacks.delete(id);
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Start Desktop detection polling loop.
|
|
47
|
+
*
|
|
48
|
+
* @param detectFn async function that resolves if Desktop is found, rejects if not
|
|
49
|
+
* @param interval ms between attempts
|
|
50
|
+
* @param failTimeout ms before transitioning to FAILED or DEGRADED
|
|
51
|
+
*/
|
|
52
|
+
StatusService.prototype.startPolling = function (detectFn, interval, failTimeout) {
|
|
53
|
+
var _this = this;
|
|
54
|
+
this.stopPolling();
|
|
55
|
+
this.setStatus('INITIALIZING');
|
|
56
|
+
this.failTimeoutId = setTimeout(function () {
|
|
57
|
+
if (_this.currentStatus !== 'RUNNING') {
|
|
58
|
+
if (index_1.asperaSdk.httpGatewayIsReady) {
|
|
59
|
+
_this.setStatus('DEGRADED');
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
_this.setStatus('FAILED');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}, failTimeout);
|
|
66
|
+
var attempt = function () {
|
|
67
|
+
detectFn()
|
|
68
|
+
.then(function () {
|
|
69
|
+
_this.stopPolling();
|
|
70
|
+
_this.setStatus('RUNNING');
|
|
71
|
+
})
|
|
72
|
+
.catch(function () {
|
|
73
|
+
// Stay in current status (INITIALIZING or FAILED), poll continues
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
attempt();
|
|
77
|
+
this.pollTimerId = setInterval(attempt, interval);
|
|
78
|
+
};
|
|
79
|
+
StatusService.prototype.stopPolling = function () {
|
|
80
|
+
if (this.pollTimerId) {
|
|
81
|
+
clearInterval(this.pollTimerId);
|
|
82
|
+
this.pollTimerId = null;
|
|
83
|
+
}
|
|
84
|
+
if (this.failTimeoutId) {
|
|
85
|
+
clearTimeout(this.failTimeoutId);
|
|
86
|
+
this.failTimeoutId = null;
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
StatusService.prototype.reset = function () {
|
|
90
|
+
this.stopPolling();
|
|
91
|
+
this.currentStatus = undefined;
|
|
92
|
+
this.callbacks.clear();
|
|
93
|
+
};
|
|
94
|
+
return StatusService;
|
|
95
|
+
}());
|
|
96
|
+
exports.statusService = new StatusService();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
2
|
+
import { InitOptions } from '../models/models';
|
|
2
3
|
/**
|
|
3
4
|
* Connect Core Logic
|
|
4
5
|
*
|
|
@@ -8,4 +9,4 @@ import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
|
8
9
|
*/
|
|
9
10
|
export declare const handleTransfers: (transfers: ConnectTypes.TransferInfo[]) => void;
|
|
10
11
|
export declare const connectInstallationFlow: () => void;
|
|
11
|
-
export declare const initConnect: (
|
|
12
|
+
export declare const initConnect: (connectSettings: InitOptions["connectSettings"]) => Promise<unknown>;
|
|
@@ -51,7 +51,22 @@ var connectInstallationFlow = function () {
|
|
|
51
51
|
index_1.asperaSdk.globals.connect.addEventListener(index_1.asperaSdk.globals.connectAW4.Connect.EVENT.STATUS, handleInstallerEvent);
|
|
52
52
|
};
|
|
53
53
|
exports.connectInstallationFlow = connectInstallationFlow;
|
|
54
|
-
var initConnect = function (
|
|
54
|
+
var initConnect = function (connectSettings) {
|
|
55
|
+
index_1.asperaSdk.globals.connect = new connect_sdk_js_1.Connect({
|
|
56
|
+
minVersion: connectSettings.minVersion || '3.10.1',
|
|
57
|
+
dragDropEnabled: connectSettings.dragDropEnabled,
|
|
58
|
+
connectMethod: connectSettings.method,
|
|
59
|
+
});
|
|
60
|
+
index_1.asperaSdk.globals.connectInstaller = new connect_sdk_js_1.ConnectInstaller({
|
|
61
|
+
sdkLocation: connectSettings.sdkLocation,
|
|
62
|
+
correlationId: connectSettings.correlationId,
|
|
63
|
+
style: 'carbon',
|
|
64
|
+
version: connectSettings.version,
|
|
65
|
+
});
|
|
66
|
+
index_1.asperaSdk.globals.connectAW4 = {
|
|
67
|
+
Connect: connect_sdk_js_1.Connect,
|
|
68
|
+
ConnectInstaller: connect_sdk_js_1.ConnectInstaller,
|
|
69
|
+
};
|
|
55
70
|
index_1.asperaSdk.globals.connect.addEventListener(connect_sdk_js_1.Connect.EVENT.STATUS, function (eventType, eventStatus) {
|
|
56
71
|
if (eventType === connect_sdk_js_1.Connect.EVENT.STATUS) {
|
|
57
72
|
index_1.asperaSdk.globals.connectStatus = eventStatus;
|
|
@@ -65,7 +80,7 @@ var initConnect = function (useIncludedInstaller) {
|
|
|
65
80
|
}
|
|
66
81
|
});
|
|
67
82
|
index_1.asperaSdk.globals.connect.initSession(index_1.asperaSdk.globals.appId);
|
|
68
|
-
if (
|
|
83
|
+
if (!connectSettings.hideIncludedInstaller) {
|
|
69
84
|
(0, exports.connectInstallationFlow)();
|
|
70
85
|
}
|
|
71
86
|
return Promise.resolve({ connectMode: true });
|
|
@@ -45,4 +45,14 @@ export declare const messages: {
|
|
|
45
45
|
readDirectoryNotSupported: string;
|
|
46
46
|
showTransferManagerFailed: string;
|
|
47
47
|
showTransferManagerNotSupported: string;
|
|
48
|
+
openPreferencesPageFailed: string;
|
|
49
|
+
openPreferencesPageNotSupported: string;
|
|
50
|
+
showTransferMonitorFailed: string;
|
|
51
|
+
showTransferMonitorNotSupported: string;
|
|
52
|
+
authenticateFailed: string;
|
|
53
|
+
authenticateNotSupported: string;
|
|
54
|
+
testSshPortsFailed: string;
|
|
55
|
+
testSshPortsNotSupported: string;
|
|
56
|
+
showSaveFileDialogFailed: string;
|
|
57
|
+
showSaveFileDialogNotSupported: string;
|
|
48
58
|
};
|
|
@@ -24,7 +24,7 @@ exports.messages = {
|
|
|
24
24
|
showSelectFolderDialogFailed: 'Unable to show select folder dialog',
|
|
25
25
|
showPreferencesFailed: 'Unable to show preferences',
|
|
26
26
|
stopTransferFailed: 'Unable to stop transfer',
|
|
27
|
-
stopTransferFailedExternal: 'Unable to stop transfer. The download must be
|
|
27
|
+
stopTransferFailedExternal: 'Unable to stop transfer. The download must be cancelled from the browser\'s download manager',
|
|
28
28
|
transferFailed: 'The transfer failed to initiate',
|
|
29
29
|
unableToFindElementOnPage: 'Unable to find the element on the current page',
|
|
30
30
|
unableToReadDropped: 'The dropped item could not be parsed. Please try selecting via the select file/folder option',
|
|
@@ -33,7 +33,7 @@ exports.messages = {
|
|
|
33
33
|
websocketNotReady: 'The websocket is not ready. Run init first',
|
|
34
34
|
httpNotAvailable: 'IBM Aspera HTTP Gateway is not available',
|
|
35
35
|
httpInitFail: 'IBM Aspera HTTP Gateway could not be started',
|
|
36
|
-
filePickerCancel: 'User
|
|
36
|
+
filePickerCancel: 'User cancelled the select file or folder dialog.',
|
|
37
37
|
fileNotAllowed: 'The specified path has not been allowed by the user.',
|
|
38
38
|
httpNetworkFail: 'HTTP network encountered unknown error.',
|
|
39
39
|
readAsArrayBufferFailed: 'Unable to read file as array buffer',
|
|
@@ -48,4 +48,14 @@ exports.messages = {
|
|
|
48
48
|
readDirectoryNotSupported: 'Read directory is not supported for current transfer client',
|
|
49
49
|
showTransferManagerFailed: 'Unable to show transfer manager',
|
|
50
50
|
showTransferManagerNotSupported: 'Show transfer manager is not supported for current transfer client',
|
|
51
|
+
openPreferencesPageFailed: 'Unable to open preferences page',
|
|
52
|
+
openPreferencesPageNotSupported: 'Open preferences page is not supported for current transfer client',
|
|
53
|
+
showTransferMonitorFailed: 'Unable to show transfer monitor',
|
|
54
|
+
showTransferMonitorNotSupported: 'Show transfer monitor is not supported for current transfer client',
|
|
55
|
+
authenticateFailed: 'Unable to authenticate',
|
|
56
|
+
authenticateNotSupported: 'Authenticate is not supported for current transfer client',
|
|
57
|
+
testSshPortsFailed: 'Unable to test SSH ports',
|
|
58
|
+
testSshPortsNotSupported: 'Test SSH ports is not supported for current transfer client',
|
|
59
|
+
showSaveFileDialogFailed: 'Unable to show save file dialog',
|
|
60
|
+
showSaveFileDialogNotSupported: 'Show save file dialog is not supported for current transfer client',
|
|
51
61
|
};
|
|
@@ -25,9 +25,18 @@ export declare const sendTransferUpdate: (transfer: AsperaSdkTransfer) => void;
|
|
|
25
25
|
* @returns a promise that resolves when the HTTP Gateway is initialized
|
|
26
26
|
*/
|
|
27
27
|
export declare const initHttpGateway: (response: HttpGatewayInfo) => Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Set up the HTTP Gateway by normalizing the URL, fetching the /info endpoint,
|
|
30
|
+
* and calling initHttpGateway with the response.
|
|
31
|
+
*
|
|
32
|
+
* @param url - The HTTP Gateway URL provided by the consumer
|
|
33
|
+
*
|
|
34
|
+
* @returns a promise that resolves when the HTTP Gateway is initialized
|
|
35
|
+
*/
|
|
36
|
+
export declare const setupHttpGateway: (url: string) => Promise<void>;
|
|
28
37
|
/**
|
|
29
38
|
* Stop an in-progress HTTP Gateway transfer.
|
|
30
|
-
* Aborts the underlying HTTP request and sets the transfer status to '
|
|
39
|
+
* Aborts the underlying HTTP request and sets the transfer status to 'cancelled'.
|
|
31
40
|
*
|
|
32
41
|
* Note: If the download is being directly handled by the browser's download manager, this will return
|
|
33
42
|
* an error. The user must cancel the download themselves in the browser's download manger.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.httpGatewayReadChunkAsArrayBuffer = exports.httpGatewayReadAsArrayBuffer = exports.base64Encoding = exports.getMessageFromError = exports.getSdkTransfer = exports.httpGatewaySelectFileFolderDialog = exports.handleHttpGatewayDrop = exports.createHtmlInputElement = exports.httpGetTransfer = exports.httpGetAllTransfers = exports.httpRemoveTransfer = exports.httpStopTransfer = exports.initHttpGateway = exports.sendTransferUpdate = void 0;
|
|
3
|
+
exports.httpGatewayReadChunkAsArrayBuffer = exports.httpGatewayReadAsArrayBuffer = exports.base64Encoding = exports.getMessageFromError = exports.getSdkTransfer = exports.httpGatewaySelectFileFolderDialog = exports.handleHttpGatewayDrop = exports.createHtmlInputElement = exports.httpGetTransfer = exports.httpGetAllTransfers = exports.httpRemoveTransfer = exports.httpStopTransfer = exports.setupHttpGateway = exports.initHttpGateway = exports.sendTransferUpdate = void 0;
|
|
4
4
|
var messages_1 = require("../constants/messages");
|
|
5
5
|
var helpers_1 = require("../helpers/helpers");
|
|
6
6
|
var index_1 = require("../index");
|
|
@@ -47,7 +47,12 @@ var initHttpGateway = function (response) {
|
|
|
47
47
|
// Watch for old HTTP Gateway transfers in case used.
|
|
48
48
|
(0, http_gateway_sdk_js_1.registerActivityCallback)(function (oldHttpTransfers) {
|
|
49
49
|
oldHttpTransfers.transfers.forEach(function (oldHttpTransfer) {
|
|
50
|
-
|
|
50
|
+
var transfer = oldHttpTransfer;
|
|
51
|
+
// The HTTP Gateway v2 SDK uses "canceled" but we standardize on "cancelled"
|
|
52
|
+
if (transfer.status === 'canceled') {
|
|
53
|
+
transfer.status = 'cancelled';
|
|
54
|
+
}
|
|
55
|
+
(0, exports.sendTransferUpdate)(transfer);
|
|
51
56
|
});
|
|
52
57
|
});
|
|
53
58
|
return (0, http_gateway_sdk_js_1.initHttpGateway)(index_1.asperaSdk.globals.httpGatewayUrl).then(function () { });
|
|
@@ -60,9 +65,38 @@ var initHttpGateway = function (response) {
|
|
|
60
65
|
return Promise.resolve();
|
|
61
66
|
};
|
|
62
67
|
exports.initHttpGateway = initHttpGateway;
|
|
68
|
+
/**
|
|
69
|
+
* Set up the HTTP Gateway by normalizing the URL, fetching the /info endpoint,
|
|
70
|
+
* and calling initHttpGateway with the response.
|
|
71
|
+
*
|
|
72
|
+
* @param url - The HTTP Gateway URL provided by the consumer
|
|
73
|
+
*
|
|
74
|
+
* @returns a promise that resolves when the HTTP Gateway is initialized
|
|
75
|
+
*/
|
|
76
|
+
var setupHttpGateway = function (url) {
|
|
77
|
+
var finalUrl = url.trim();
|
|
78
|
+
if (finalUrl.indexOf('http') !== 0) {
|
|
79
|
+
finalUrl = "https://".concat(finalUrl);
|
|
80
|
+
}
|
|
81
|
+
if (finalUrl.endsWith('/')) {
|
|
82
|
+
finalUrl = finalUrl.slice(0, -1);
|
|
83
|
+
}
|
|
84
|
+
index_1.asperaSdk.globals.httpGatewayUrl = finalUrl;
|
|
85
|
+
return fetch("".concat(finalUrl, "/info"), { method: 'GET' }).then(function (response) {
|
|
86
|
+
return response.json().then(function (responseData) {
|
|
87
|
+
if (response.status >= 400) {
|
|
88
|
+
throw Error(responseData);
|
|
89
|
+
}
|
|
90
|
+
return responseData;
|
|
91
|
+
});
|
|
92
|
+
}).then(function (response) {
|
|
93
|
+
return (0, exports.initHttpGateway)(response);
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
exports.setupHttpGateway = setupHttpGateway;
|
|
63
97
|
/**
|
|
64
98
|
* Stop an in-progress HTTP Gateway transfer.
|
|
65
|
-
* Aborts the underlying HTTP request and sets the transfer status to '
|
|
99
|
+
* Aborts the underlying HTTP request and sets the transfer status to 'cancelled'.
|
|
66
100
|
*
|
|
67
101
|
* Note: If the download is being directly handled by the browser's download manager, this will return
|
|
68
102
|
* an error. The user must cancel the download themselves in the browser's download manger.
|
|
@@ -83,7 +117,7 @@ var httpStopTransfer = function (id) {
|
|
|
83
117
|
else if (transfer.httpDownloadExternalHandle) {
|
|
84
118
|
return Promise.reject((0, helpers_1.generateErrorBody)(messages_1.messages.stopTransferFailedExternal, { reason: 'External handle' }));
|
|
85
119
|
}
|
|
86
|
-
transfer.status = '
|
|
120
|
+
transfer.status = 'cancelled';
|
|
87
121
|
var request = index_1.asperaSdk.httpGatewayRequestStore.get(id);
|
|
88
122
|
if (request) {
|
|
89
123
|
request.abort();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { httpDownload } from './download';
|
|
2
2
|
import { httpUpload } from './upload';
|
|
3
|
-
import { handleHttpGatewayDrop, httpGatewaySelectFileFolderDialog, createHtmlInputElement, initHttpGateway } from './core';
|
|
3
|
+
import { handleHttpGatewayDrop, httpGatewaySelectFileFolderDialog, createHtmlInputElement, initHttpGateway, setupHttpGateway } from './core';
|
|
4
4
|
/**
|
|
5
5
|
* HTTP Gateway Exports
|
|
6
6
|
*
|
|
@@ -8,4 +8,4 @@ import { handleHttpGatewayDrop, httpGatewaySelectFileFolderDialog, createHtmlInp
|
|
|
8
8
|
* Most logic is called directly by Desktop SDK functions
|
|
9
9
|
* You may not need to import anything from this file.
|
|
10
10
|
*/
|
|
11
|
-
export { httpUpload, httpDownload, handleHttpGatewayDrop, httpGatewaySelectFileFolderDialog, createHtmlInputElement, initHttpGateway, };
|
|
11
|
+
export { httpUpload, httpDownload, handleHttpGatewayDrop, httpGatewaySelectFileFolderDialog, createHtmlInputElement, initHttpGateway, setupHttpGateway, };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.initHttpGateway = exports.createHtmlInputElement = exports.httpGatewaySelectFileFolderDialog = exports.handleHttpGatewayDrop = exports.httpDownload = exports.httpUpload = void 0;
|
|
3
|
+
exports.setupHttpGateway = exports.initHttpGateway = exports.createHtmlInputElement = exports.httpGatewaySelectFileFolderDialog = exports.handleHttpGatewayDrop = exports.httpDownload = exports.httpUpload = void 0;
|
|
4
4
|
var download_1 = require("./download");
|
|
5
5
|
Object.defineProperty(exports, "httpDownload", { enumerable: true, get: function () { return download_1.httpDownload; } });
|
|
6
6
|
var upload_1 = require("./upload");
|
|
@@ -10,3 +10,4 @@ Object.defineProperty(exports, "handleHttpGatewayDrop", { enumerable: true, get:
|
|
|
10
10
|
Object.defineProperty(exports, "httpGatewaySelectFileFolderDialog", { enumerable: true, get: function () { return core_1.httpGatewaySelectFileFolderDialog; } });
|
|
11
11
|
Object.defineProperty(exports, "createHtmlInputElement", { enumerable: true, get: function () { return core_1.createHtmlInputElement; } });
|
|
12
12
|
Object.defineProperty(exports, "initHttpGateway", { enumerable: true, get: function () { return core_1.initHttpGateway; } });
|
|
13
|
+
Object.defineProperty(exports, "setupHttpGateway", { enumerable: true, get: function () { return core_1.setupHttpGateway; } });
|
|
@@ -54,7 +54,7 @@ var httpUpload = function (transferSpec, asperaSdkSpec) {
|
|
|
54
54
|
(0, core_1.sendTransferUpdate)(transferObject);
|
|
55
55
|
};
|
|
56
56
|
var triggerFailed = function () {
|
|
57
|
-
if (transferObject.status === '
|
|
57
|
+
if (transferObject.status === 'cancelled') {
|
|
58
58
|
return;
|
|
59
59
|
}
|
|
60
60
|
var errorData = (0, core_1.getMessageFromError)(request.response);
|
package/dist/commonjs/index.d.ts
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AsperaSdk } from './models/aspera-sdk.model';
|
|
2
|
-
import { createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getCapabilities, getChecksum, getFilesList, getInfo, getTransfer, hasCapability, init, initDragDrop, modifyTransfer, readAsArrayBuffer, readChunkAsArrayBuffer, readDirectory, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showAbout, showDirectory, showPreferences, showSelectFileDialog, showSelectFolderDialog, showTransferManager, startTransfer, stopTransfer, testConnection } from './app/core';
|
|
2
|
+
import { authenticate, createDropzone, deregisterActivityCallback, deregisterStatusCallback, getAllTransfers, getCapabilities, getChecksum, getFilesList, getInfo, getStatus, getTransfer, hasCapability, init, initDragDrop, initSession, modifyTransfer, showPreferencesPage, readAsArrayBuffer, readChunkAsArrayBuffer, readDirectory, registerActivityCallback, registerStatusCallback, removeDropzone, removeTransfer, resumeTransfer, setBranding, showAbout, showDirectory, showPreferences, showSaveFileDialog, showSelectFileDialog, showSelectFolderDialog, showTransferManager, showTransferMonitor, startTransfer, stopTransfer, testConnection, testSshPorts } from './app/core';
|
|
3
3
|
import { getInstallerInfo } from './app/installer';
|
|
4
4
|
import { getInstallerUrls, isSafari } from './helpers/helpers';
|
|
5
5
|
export declare const asperaSdk: AsperaSdk;
|
|
6
6
|
declare const launch: () => void;
|
|
7
|
-
export { isSafari, init, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showAbout, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, getFilesList, showSelectFileDialog, showSelectFolderDialog, showPreferences, showTransferManager, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, setBranding, getInfo, readAsArrayBuffer, readChunkAsArrayBuffer, getInstallerUrls, getCapabilities, hasCapability, getChecksum, readDirectory, };
|
|
8
|
-
export type { AsperaSdkSpec, AsperaSdkTransfer, BrowserStyleFile, ChecksumFileResponse, DirectoryEntry, DirectoryListFilters, CustomBrandingOptions, CustomTheme, CustomThemeItems, DataTransferResponse, DropzoneEventData, DropzoneEventType, EntryType, DropzoneOptions, FileDialogOptions, FileError, FileFilter, FileStat, FileStatus, FolderDialogOptions, GetChecksumOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, OverwritePolicy, PaginatedFilesResponse, Pagination, Path, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ReadDirectoryOptions, ReadDirectoryResponse, ResumePolicy, ResumeTransferOptions, SafariExtensionEvent, SdkCapabilities, TransferSpec, TransferStatus, WebsocketEvent, } from './models/models';
|
|
7
|
+
export { isSafari, init, authenticate, testSshPorts, testConnection, startTransfer, launch, registerActivityCallback, deregisterActivityCallback, removeTransfer, showAbout, showDirectory, stopTransfer, resumeTransfer, getAllTransfers, getTransfer, getFilesList, showSelectFileDialog, showSelectFolderDialog, showSaveFileDialog, showPreferences, showTransferManager, showTransferMonitor, showPreferencesPage as openPreferencesPage, modifyTransfer, createDropzone, removeDropzone, initDragDrop, getInstallerInfo, registerStatusCallback, deregisterStatusCallback, initSession, getStatus, setBranding, getInfo, readAsArrayBuffer, readChunkAsArrayBuffer, getInstallerUrls, getCapabilities, hasCapability, getChecksum, readDirectory, };
|
|
8
|
+
export type { AsperaSdkSpec, AsperaSdkTransfer, BrowserStyleFile, ChecksumFileResponse, DirectoryEntry, DirectoryListFilters, CustomBrandingOptions, CustomTheme, CustomThemeItems, DataTransferResponse, DropzoneEventData, DropzoneEventType, EntryType, DropzoneOptions, FileDialogOptions, FileError, FileFilter, FileStat, FileStatus, FolderDialogOptions, SaveFileDialogOptions, GetChecksumOptions, InitOptions, InstallerInfo, InstallerInfoResponse, InstallerOptions, InstallerUrlInfo, ModifyTransferOptions, ShowPreferencesPageOptions as OpenPreferencesPageOptions, OverwritePolicy, PaginatedFilesResponse, Pagination, Path, PreferencesPage, ReadAsArrayBufferResponse, ReadChunkAsArrayBufferResponse, ReadDirectoryOptions, ReadDirectoryResponse, ResumePolicy, ResumeTransferOptions, SafariExtensionEvent, SdkCapabilities, TestSshPortsOptions, TransferSpec, TransferStatus, SdkStatus, WebsocketEvent, } from './models/models';
|
|
9
9
|
export type { ActivityMessage, ActivityMessageTypes, AsperaSdkClientInfo, AsperaSdkInfo, TransferResponse, } from './models/aspera-sdk.model';
|
|
10
10
|
export { AsperaSdk, AsperaSdkGlobals } from './models/aspera-sdk.model';
|
|
11
11
|
export type { HttpGatewayInfo } from './http-gateway/models';
|
package/dist/commonjs/index.js
CHANGED
|
@@ -33,9 +33,10 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.AsperaSdkGlobals = exports.AsperaSdk = exports.readDirectory = exports.getChecksum = exports.hasCapability = exports.getCapabilities = exports.getInstallerUrls = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.setBranding = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.showTransferManager = exports.showPreferences = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.showAbout = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.init = exports.isSafari = exports.asperaSdk = void 0;
|
|
36
|
+
exports.AsperaSdkGlobals = exports.AsperaSdk = exports.readDirectory = exports.getChecksum = exports.hasCapability = exports.getCapabilities = exports.getInstallerUrls = exports.readChunkAsArrayBuffer = exports.readAsArrayBuffer = exports.getInfo = exports.setBranding = exports.getStatus = exports.initSession = exports.deregisterStatusCallback = exports.registerStatusCallback = exports.getInstallerInfo = exports.initDragDrop = exports.removeDropzone = exports.createDropzone = exports.modifyTransfer = exports.openPreferencesPage = exports.showTransferMonitor = exports.showTransferManager = exports.showPreferences = exports.showSaveFileDialog = exports.showSelectFolderDialog = exports.showSelectFileDialog = exports.getFilesList = exports.getTransfer = exports.getAllTransfers = exports.resumeTransfer = exports.stopTransfer = exports.showDirectory = exports.showAbout = exports.removeTransfer = exports.deregisterActivityCallback = exports.registerActivityCallback = exports.launch = exports.startTransfer = exports.testConnection = exports.testSshPorts = exports.authenticate = exports.init = exports.isSafari = exports.asperaSdk = void 0;
|
|
37
37
|
var aspera_sdk_model_1 = require("./models/aspera-sdk.model");
|
|
38
38
|
var core_1 = require("./app/core");
|
|
39
|
+
Object.defineProperty(exports, "authenticate", { enumerable: true, get: function () { return core_1.authenticate; } });
|
|
39
40
|
Object.defineProperty(exports, "createDropzone", { enumerable: true, get: function () { return core_1.createDropzone; } });
|
|
40
41
|
Object.defineProperty(exports, "deregisterActivityCallback", { enumerable: true, get: function () { return core_1.deregisterActivityCallback; } });
|
|
41
42
|
Object.defineProperty(exports, "deregisterStatusCallback", { enumerable: true, get: function () { return core_1.deregisterStatusCallback; } });
|
|
@@ -44,11 +45,14 @@ Object.defineProperty(exports, "getCapabilities", { enumerable: true, get: funct
|
|
|
44
45
|
Object.defineProperty(exports, "getChecksum", { enumerable: true, get: function () { return core_1.getChecksum; } });
|
|
45
46
|
Object.defineProperty(exports, "getFilesList", { enumerable: true, get: function () { return core_1.getFilesList; } });
|
|
46
47
|
Object.defineProperty(exports, "getInfo", { enumerable: true, get: function () { return core_1.getInfo; } });
|
|
48
|
+
Object.defineProperty(exports, "getStatus", { enumerable: true, get: function () { return core_1.getStatus; } });
|
|
47
49
|
Object.defineProperty(exports, "getTransfer", { enumerable: true, get: function () { return core_1.getTransfer; } });
|
|
48
50
|
Object.defineProperty(exports, "hasCapability", { enumerable: true, get: function () { return core_1.hasCapability; } });
|
|
49
51
|
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return core_1.init; } });
|
|
50
52
|
Object.defineProperty(exports, "initDragDrop", { enumerable: true, get: function () { return core_1.initDragDrop; } });
|
|
53
|
+
Object.defineProperty(exports, "initSession", { enumerable: true, get: function () { return core_1.initSession; } });
|
|
51
54
|
Object.defineProperty(exports, "modifyTransfer", { enumerable: true, get: function () { return core_1.modifyTransfer; } });
|
|
55
|
+
Object.defineProperty(exports, "openPreferencesPage", { enumerable: true, get: function () { return core_1.showPreferencesPage; } });
|
|
52
56
|
Object.defineProperty(exports, "readAsArrayBuffer", { enumerable: true, get: function () { return core_1.readAsArrayBuffer; } });
|
|
53
57
|
Object.defineProperty(exports, "readChunkAsArrayBuffer", { enumerable: true, get: function () { return core_1.readChunkAsArrayBuffer; } });
|
|
54
58
|
Object.defineProperty(exports, "readDirectory", { enumerable: true, get: function () { return core_1.readDirectory; } });
|
|
@@ -61,12 +65,15 @@ Object.defineProperty(exports, "setBranding", { enumerable: true, get: function
|
|
|
61
65
|
Object.defineProperty(exports, "showAbout", { enumerable: true, get: function () { return core_1.showAbout; } });
|
|
62
66
|
Object.defineProperty(exports, "showDirectory", { enumerable: true, get: function () { return core_1.showDirectory; } });
|
|
63
67
|
Object.defineProperty(exports, "showPreferences", { enumerable: true, get: function () { return core_1.showPreferences; } });
|
|
68
|
+
Object.defineProperty(exports, "showSaveFileDialog", { enumerable: true, get: function () { return core_1.showSaveFileDialog; } });
|
|
64
69
|
Object.defineProperty(exports, "showSelectFileDialog", { enumerable: true, get: function () { return core_1.showSelectFileDialog; } });
|
|
65
70
|
Object.defineProperty(exports, "showSelectFolderDialog", { enumerable: true, get: function () { return core_1.showSelectFolderDialog; } });
|
|
66
71
|
Object.defineProperty(exports, "showTransferManager", { enumerable: true, get: function () { return core_1.showTransferManager; } });
|
|
72
|
+
Object.defineProperty(exports, "showTransferMonitor", { enumerable: true, get: function () { return core_1.showTransferMonitor; } });
|
|
67
73
|
Object.defineProperty(exports, "startTransfer", { enumerable: true, get: function () { return core_1.startTransfer; } });
|
|
68
74
|
Object.defineProperty(exports, "stopTransfer", { enumerable: true, get: function () { return core_1.stopTransfer; } });
|
|
69
75
|
Object.defineProperty(exports, "testConnection", { enumerable: true, get: function () { return core_1.testConnection; } });
|
|
76
|
+
Object.defineProperty(exports, "testSshPorts", { enumerable: true, get: function () { return core_1.testSshPorts; } });
|
|
70
77
|
var installer_1 = require("./app/installer");
|
|
71
78
|
Object.defineProperty(exports, "getInstallerInfo", { enumerable: true, get: function () { return installer_1.getInstallerInfo; } });
|
|
72
79
|
var helpers_1 = require("./helpers/helpers");
|
|
@@ -75,6 +82,8 @@ Object.defineProperty(exports, "isSafari", { enumerable: true, get: function ()
|
|
|
75
82
|
var httpGatewayCalls = __importStar(require("./http-gateway"));
|
|
76
83
|
exports.asperaSdk = new aspera_sdk_model_1.AsperaSdk();
|
|
77
84
|
exports.asperaSdk.init = core_1.init;
|
|
85
|
+
exports.asperaSdk.authenticate = core_1.authenticate;
|
|
86
|
+
exports.asperaSdk.testSshPorts = core_1.testSshPorts;
|
|
78
87
|
exports.asperaSdk.testConnection = core_1.testConnection;
|
|
79
88
|
exports.asperaSdk.startTransfer = core_1.startTransfer;
|
|
80
89
|
exports.asperaSdk.registerActivityCallback = core_1.registerActivityCallback;
|
|
@@ -89,14 +98,19 @@ exports.asperaSdk.getTransfer = core_1.getTransfer;
|
|
|
89
98
|
exports.asperaSdk.getFilesList = core_1.getFilesList;
|
|
90
99
|
exports.asperaSdk.showSelectFileDialog = core_1.showSelectFileDialog;
|
|
91
100
|
exports.asperaSdk.showSelectFolderDialog = core_1.showSelectFolderDialog;
|
|
101
|
+
exports.asperaSdk.showSaveFileDialog = core_1.showSaveFileDialog;
|
|
92
102
|
exports.asperaSdk.showPreferences = core_1.showPreferences;
|
|
93
103
|
exports.asperaSdk.showTransferManager = core_1.showTransferManager;
|
|
104
|
+
exports.asperaSdk.showTransferMonitor = core_1.showTransferMonitor;
|
|
105
|
+
exports.asperaSdk.showPreferencesPage = core_1.showPreferencesPage;
|
|
94
106
|
exports.asperaSdk.modifyTransfer = core_1.modifyTransfer;
|
|
95
107
|
exports.asperaSdk.createDropzone = core_1.createDropzone;
|
|
96
108
|
exports.asperaSdk.removeDropzone = core_1.removeDropzone;
|
|
97
109
|
exports.asperaSdk.getInstallerInfo = installer_1.getInstallerInfo;
|
|
98
110
|
exports.asperaSdk.registerStatusCallback = core_1.registerStatusCallback;
|
|
99
111
|
exports.asperaSdk.deregisterStatusCallback = core_1.deregisterStatusCallback;
|
|
112
|
+
exports.asperaSdk.initSession = core_1.initSession;
|
|
113
|
+
exports.asperaSdk.getStatus = core_1.getStatus;
|
|
100
114
|
exports.asperaSdk.initDragDrop = core_1.initDragDrop;
|
|
101
115
|
exports.asperaSdk.setBranding = core_1.setBranding;
|
|
102
116
|
exports.asperaSdk.getInfo = core_1.getInfo;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomBrandingOptions, DataTransferResponse, DropzoneEventData, DropzoneEventType, DropzoneOptions, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, SafariExtensionEvent, TransferSpec, WebsocketEvent, InstallerUrlInfo, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse, ReadDirectoryOptions, ReadDirectoryResponse } from './models';
|
|
1
|
+
import { CustomBrandingOptions, DataTransferResponse, DropzoneEventData, DropzoneEventType, DropzoneOptions, AsperaSdkSpec, AsperaSdkTransfer, FileDialogOptions, FolderDialogOptions, SaveFileDialogOptions, InitOptions, InstallerInfoResponse, InstallerOptions, ModifyTransferOptions, Pagination, PaginatedFilesResponse, ResumeTransferOptions, SafariExtensionEvent, SdkStatus, TransferSpec, WebsocketEvent, InstallerUrlInfo, SdkCapabilities, GetChecksumOptions, ChecksumFileResponse, ReadDirectoryOptions, ReadDirectoryResponse, ShowPreferencesPageOptions, TestSshPortsOptions } from './models';
|
|
2
2
|
import { HttpGatewayInfo } from '../http-gateway/models';
|
|
3
3
|
import * as ConnectTypes from '@ibm-aspera/connect-sdk-js/dist/esm/core/types';
|
|
4
4
|
import { Connect, ConnectInstaller } from '@ibm-aspera/connect-sdk-js';
|
|
@@ -84,12 +84,6 @@ export interface ActivityMessage {
|
|
|
84
84
|
export declare class ActivityTracking {
|
|
85
85
|
/** Map of callbacks that receive transfer update events */
|
|
86
86
|
private activity_callbacks;
|
|
87
|
-
/** Map of callbacks that receive connection events */
|
|
88
|
-
private event_callbacks;
|
|
89
|
-
/** Keep track of the last WebSocket event **/
|
|
90
|
-
private lastWebSocketEvent;
|
|
91
|
-
/** Keep track of the last notified WebSocket event **/
|
|
92
|
-
private lastNotifiedWebSocketEvent;
|
|
93
87
|
/**
|
|
94
88
|
* Notify all consumers when a message is received from the transfer client.
|
|
95
89
|
*
|
|
@@ -97,19 +91,18 @@ export declare class ActivityTracking {
|
|
|
97
91
|
*/
|
|
98
92
|
handleTransferActivity(message: ActivityMessage): void;
|
|
99
93
|
/**
|
|
100
|
-
* Handle and notify
|
|
94
|
+
* Handle and notify when a connection webSocketEvent occurs. For example, when the SDK
|
|
101
95
|
* websocket connection to IBM Aspera App is closed or reconnected.
|
|
102
96
|
*
|
|
97
|
+
* Bridges WebSocket events to StatusService as SdkStatus values.
|
|
98
|
+
*
|
|
103
99
|
* @param webSocketEvent the event type.
|
|
104
100
|
*/
|
|
105
101
|
handleWebSocketEvents(webSocketEvent: WebsocketEvent): void;
|
|
106
102
|
/**
|
|
107
|
-
*
|
|
108
|
-
*
|
|
109
|
-
* @param webSocketEvent the event type.
|
|
103
|
+
* Trigger manual event for other event types (e.g. Connect status strings).
|
|
104
|
+
* Bridges to StatusService.
|
|
110
105
|
*/
|
|
111
|
-
private notifyWebSocketEvent;
|
|
112
|
-
/** Trigger manual event for other event types. */
|
|
113
106
|
sendManualEventCallback(status: string): void;
|
|
114
107
|
/**
|
|
115
108
|
* Notify all consumers when the client changes status. For example, when
|
|
@@ -145,20 +138,6 @@ export declare class ActivityTracking {
|
|
|
145
138
|
* @param id the string of the callback to remove
|
|
146
139
|
*/
|
|
147
140
|
removeCallback(id: string): void;
|
|
148
|
-
/**
|
|
149
|
-
* Register a callback for getting websocket events back to the consumer
|
|
150
|
-
*
|
|
151
|
-
* @param callback the function to call with the websocket event
|
|
152
|
-
*
|
|
153
|
-
* @returns the ID of the callback index
|
|
154
|
-
*/
|
|
155
|
-
setWebSocketEventCallback(callback: (status: WebsocketEvent) => void): string;
|
|
156
|
-
/**
|
|
157
|
-
* Remove the callback (deregister) from the list of callbacks
|
|
158
|
-
*
|
|
159
|
-
* @param id the string of the callback to remove
|
|
160
|
-
*/
|
|
161
|
-
removeWebSocketEventCallback(id: string): void;
|
|
162
141
|
private registerDesktopAppSession;
|
|
163
142
|
}
|
|
164
143
|
export declare class AsperaSdk {
|
|
@@ -182,9 +161,13 @@ export declare class AsperaSdk {
|
|
|
182
161
|
/** Deregister callback to remove it from the callbacks getting transfer data */
|
|
183
162
|
deregisterActivityCallback: (id: string) => void;
|
|
184
163
|
/** Register callback for connection status events from the app */
|
|
185
|
-
registerStatusCallback: (callback: (status:
|
|
164
|
+
registerStatusCallback: (callback: (status: SdkStatus) => void) => string;
|
|
186
165
|
/** Deregister callback to remove it from the callbacks getting connection events */
|
|
187
166
|
deregisterStatusCallback: (id: string) => void;
|
|
167
|
+
/** Non-blocking initialization. Status events communicate lifecycle via registerStatusCallback. */
|
|
168
|
+
initSession: (options?: InitOptions) => void;
|
|
169
|
+
/** Get current SDK lifecycle status synchronously. */
|
|
170
|
+
getStatus: () => SdkStatus | undefined;
|
|
188
171
|
/** Function to remove a transfer */
|
|
189
172
|
removeTransfer: (transferId: string) => Promise<any>;
|
|
190
173
|
/** Function to show the transfer's download directory in Finder or Windows Explorer */
|
|
@@ -201,12 +184,22 @@ export declare class AsperaSdk {
|
|
|
201
184
|
showSelectFileDialog: (options?: FileDialogOptions) => Promise<DataTransferResponse>;
|
|
202
185
|
/** Function to display a folder dialog for the user to select folders. */
|
|
203
186
|
showSelectFolderDialog: (options?: FolderDialogOptions) => Promise<DataTransferResponse>;
|
|
187
|
+
/** Function to display a save file dialog for the user to choose a save location */
|
|
188
|
+
showSaveFileDialog: (options?: SaveFileDialogOptions) => Promise<DataTransferResponse>;
|
|
204
189
|
/** Function to show the about page of the transfer client */
|
|
205
190
|
showAbout: () => Promise<any>;
|
|
206
191
|
/** Function to display the IBM Aspera preferences page */
|
|
207
192
|
showPreferences: () => Promise<any>;
|
|
208
193
|
/** Function to show the transfer manager UI */
|
|
209
194
|
showTransferManager: () => Promise<any>;
|
|
195
|
+
/** Function to open a specific preferences page */
|
|
196
|
+
showPreferencesPage: (options: ShowPreferencesPageOptions) => Promise<any>;
|
|
197
|
+
/** Function to show the transfer rate monitor for a specific transfer */
|
|
198
|
+
showTransferMonitor: (transferId: string) => Promise<any>;
|
|
199
|
+
/** Function to authenticate a transfer specification against the remote server */
|
|
200
|
+
authenticate: (transferSpec: TransferSpec) => Promise<any>;
|
|
201
|
+
/** Function to test SSH port connectivity to a transfer server */
|
|
202
|
+
testSshPorts: (options: TestSshPortsOptions) => Promise<any>;
|
|
210
203
|
/** Function to modify a running transfer */
|
|
211
204
|
modifyTransfer: (transferId: string, options: ModifyTransferOptions) => Promise<AsperaSdkTransfer>;
|
|
212
205
|
/** Function to set custom branding for IBM Aspera */
|
|
@@ -256,9 +249,9 @@ export declare class AsperaSdk {
|
|
|
256
249
|
/** HTTP Gateway in app threshold limit. This can be changed globally for the app. */
|
|
257
250
|
httpGatewayInBrowserDownloadThreshold: number;
|
|
258
251
|
/**
|
|
259
|
-
* Check if IBM Aspera is ready to be used and has been verified.
|
|
252
|
+
* Check if IBM Aspera for desktop is ready to be used and has been verified.
|
|
260
253
|
*
|
|
261
|
-
* @returns a boolean indicating if
|
|
254
|
+
* @returns a boolean indicating if IBM Aspera for desktop can be used for requests
|
|
262
255
|
*/
|
|
263
256
|
get isReady(): boolean;
|
|
264
257
|
/** Indicate that Connect is available. */
|