@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
82 lines • 5.48 kB
JavaScript
;
var __values = (this && this.__values) || function(o) {
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
if (m) return m.call(o);
if (o && typeof o.length === "number") return {
next: function () {
if (o && i >= o.length) o = void 0;
return { value: o && o[i++], done: !o };
}
};
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.log = exports.registerSandboxSdk = void 0;
var auth_credentials_1 = require("../../../shared/auth-credentials");
var data_container_1 = require("../../../shared/types/data-container");
var data_table_1 = require("../../../shared/types/data-table");
var eps_logger_1 = require("../../logging/eps-logger");
var aws_signing_utils_1 = require("./fetcher-utils/aws-signing-utils");
var aws_utils_1 = require("./fetcher-utils/aws-utils");
var csv_utils_1 = require("./parser-utils/csv-utils");
var eps_utils_1 = require("./parser-utils/eps-utils");
var excel_utils_1 = require("./parser-utils/excel-utils");
var parquet_utils_1 = require("./parser-utils/parquet-utils");
var sdk_module_loader_1 = require("./sdk-module-loader");
function registerSandboxSdk(sandbox, pluginConfig) {
registerCoreFeatures(sandbox);
registerPlugins(sandbox, pluginConfig);
}
exports.registerSandboxSdk = registerSandboxSdk;
function registerCoreFeatures(sandbox) {
// CommonJS global properties
sandbox.addProperty('exports');
sandbox.addProperty('module');
// sdk bundle
sandbox.executeCodeSync((0, sdk_module_loader_1.getSdkModuleBundle)());
// static funtions
sandbox.addMethod('log', log);
sandbox.addMethod('getAuthHeader', auth_credentials_1.getAuthHeader);
sandbox.addMethod('getBasicAuthHeader', auth_credentials_1.getBasicAuthHeader);
sandbox.addMethod('getOAuthHeader', auth_credentials_1.getOAuthHeader);
// not public, used in the text pipeline code
sandbox.addMethod('createDataTable', data_table_1.createDataTable);
sandbox.addMethod('createDataContainer', data_container_1.createDataContainer);
}
function registerPlugins(sandbox, pluginConfig) {
var e_1, _a;
var permission = pluginConfig.permission;
// add plugins to sandbox
var plugins = [
// public utils
new csv_utils_1.CsvUtilsPlugin(),
new excel_utils_1.ExcelUtilsPlugin(),
new parquet_utils_1.ParquetUtilsPlugin(),
// for internal use only
new aws_utils_1.AwsUtils(permission),
new aws_signing_utils_1.AwsSigningUtils(),
new eps_utils_1.EpsUtilsPlugin(),
];
try {
for (var plugins_1 = __values(plugins), plugins_1_1 = plugins_1.next(); !plugins_1_1.done; plugins_1_1 = plugins_1.next()) {
var plugin = plugins_1_1.value;
plugin.registerClass(sandbox);
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (plugins_1_1 && !plugins_1_1.done && (_a = plugins_1.return)) _a.call(plugins_1);
}
finally { if (e_1) throw e_1.error; }
}
}
// Note: this is a function for connectors. Do not use it in EPS internally.
/**
* A global function for connector handlers to log information to log file.
*/
function log(arg) {
eps_logger_1.Logger.info(arg);
}
exports.log = log;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FuZGJveC1zZGsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZXBzL3NhbmRib3gvc2RrL3NhbmRib3gtc2RrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEscUVBQW9HO0FBQ3BHLHVFQUEwRTtBQUMxRSwrREFBa0U7QUFFbEUsdURBQWlEO0FBRWpELHVFQUFtRTtBQUNuRSx1REFBb0Q7QUFDcEQsc0RBQXlEO0FBQ3pELHNEQUF5RDtBQUN6RCwwREFBNkQ7QUFDN0QsOERBQWlFO0FBRWpFLHlEQUF3RDtBQU14RCxTQUFnQixrQkFBa0IsQ0FBQyxPQUFrQixFQUFFLFlBQWlDO0lBQ3RGLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzdCLGVBQWUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUhELGdEQUdDO0FBRUQsU0FBUyxvQkFBb0IsQ0FBQyxPQUFrQjtJQUM5Qyw2QkFBNkI7SUFDN0IsT0FBTyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUM5QixPQUFPLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBRTdCLGFBQWE7SUFDYixPQUFPLENBQUMsZUFBZSxDQUFDLElBQUEsc0NBQWtCLEdBQUUsQ0FBQyxDQUFBO0lBRTdDLGtCQUFrQjtJQUNsQixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUM3QixPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWUsRUFBRSxnQ0FBYSxDQUFDLENBQUE7SUFDakQsT0FBTyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsRUFBRSxxQ0FBa0IsQ0FBQyxDQUFBO0lBQzNELE9BQU8sQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsaUNBQWMsQ0FBQyxDQUFBO0lBRW5ELDZDQUE2QztJQUM3QyxPQUFPLENBQUMsU0FBUyxDQUFDLGlCQUFpQixFQUFFLDRCQUFlLENBQUMsQ0FBQTtJQUNyRCxPQUFPLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLG9DQUFtQixDQUFDLENBQUE7QUFDL0QsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUFDLE9BQWtCLEVBQUUsWUFBaUM7O0lBQ3BFLElBQUEsVUFBVSxHQUFLLFlBQVksV0FBakIsQ0FBaUI7SUFFbkMseUJBQXlCO0lBQ3pCLElBQU0sT0FBTyxHQUFvQjtRQUMvQixlQUFlO1FBQ2YsSUFBSSwwQkFBYyxFQUFFO1FBQ3BCLElBQUksOEJBQWdCLEVBQUU7UUFDdEIsSUFBSSxrQ0FBa0IsRUFBRTtRQUN4Qix3QkFBd0I7UUFDeEIsSUFBSSxvQkFBUSxDQUFDLFVBQVUsQ0FBQztRQUN4QixJQUFJLG1DQUFlLEVBQUU7UUFDckIsSUFBSSwwQkFBYyxFQUFFO0tBQ3JCLENBQUE7O1FBQ0QsS0FBcUIsSUFBQSxZQUFBLFNBQUEsT0FBTyxDQUFBLGdDQUFBLHFEQUFFO1lBQXpCLElBQU0sTUFBTSxvQkFBQTtZQUNmLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUE7U0FDOUI7Ozs7Ozs7OztBQUNILENBQUM7QUFFRCw0RUFBNEU7QUFDNUU7O0dBRUc7QUFDSCxTQUFnQixHQUFHLENBQUMsR0FBWTtJQUM5QixtQkFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNsQixDQUFDO0FBRkQsa0JBRUMifQ==