@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
38 lines • 3.54 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isOauthConnector = exports.getConnectorClassName = exports.isValidConnectorJson = exports.getConnectorJson = void 0;
var fs_extra_1 = __importDefault(require("fs-extra"));
var ajv_1 = __importDefault(require("ajv"));
var auth_type_1 = require("../../../shared/enums/auth-type");
var connector_json_schema_1 = require("./connector-json-schema");
var infoRegistry = {};
function getConnectorJson(connectorJsonPath) {
var connectorInfo = infoRegistry[connectorJsonPath];
if (connectorInfo !== undefined) {
return connectorInfo;
}
var connectorJson = fs_extra_1.default.readJsonSync(connectorJsonPath, { throws: false });
if (typeof connectorJson !== 'object' || connectorJson === null) {
throw new Error("Unable to find a valid json file from the path: ".concat(connectorJsonPath));
}
if (!(0, exports.isValidConnectorJson)(connectorJson)) {
var errors = JSON.stringify(exports.isValidConnectorJson.errors);
throw new Error("An invalid connector.json was found at: ".concat(connectorJsonPath, "\n Errors: ").concat(errors));
}
infoRegistry[connectorJsonPath] = connectorJson;
return connectorJson;
}
exports.getConnectorJson = getConnectorJson;
exports.isValidConnectorJson = new ajv_1.default({ discriminator: true }).compile(connector_json_schema_1.schema);
function getConnectorClassName(connectorJson) {
return connectorJson.name.toLowerCase().replaceAll(' ', '_');
}
exports.getConnectorClassName = getConnectorClassName;
function isOauthConnector(connectorJson) {
return connectorJson.auth.type === auth_type_1.AuthType.oauth2;
}
exports.isOauthConnector = isOauthConnector;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLWpzb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpL3RhY28tY29tbWFuZHMvdXRpbHMvY29ubmVjdG9yLWpzb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsc0RBQTBCO0FBQzFCLDRDQUFxQjtBQUVyQiw2REFBMEQ7QUFFMUQsaUVBQWdEO0FBRWhELElBQU0sWUFBWSxHQUFrQyxFQUFFLENBQUE7QUFFdEQsU0FBZ0IsZ0JBQWdCLENBQUMsaUJBQXlCO0lBQ3hELElBQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3JELElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRTtRQUMvQixPQUFPLGFBQWEsQ0FBQTtLQUNyQjtJQUVELElBQU0sYUFBYSxHQUFHLGtCQUFHLENBQUMsWUFBWSxDQUFDLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDNUUsSUFBSSxPQUFPLGFBQWEsS0FBSyxRQUFRLElBQUksYUFBYSxLQUFLLElBQUksRUFBRTtRQUMvRCxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUFtRCxpQkFBaUIsQ0FBRSxDQUFDLENBQUE7S0FDeEY7SUFFRCxJQUFJLENBQUMsSUFBQSw0QkFBb0IsRUFBQyxhQUFhLENBQUMsRUFBRTtRQUN4QyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLDRCQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFBO1FBQzFELE1BQU0sSUFBSSxLQUFLLENBQUMsa0RBQTJDLGlCQUFpQix3QkFBYyxNQUFNLENBQUUsQ0FBQyxDQUFBO0tBQ3BHO0lBRUQsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsYUFBYSxDQUFBO0lBQy9DLE9BQU8sYUFBYSxDQUFBO0FBQ3RCLENBQUM7QUFsQkQsNENBa0JDO0FBRVksUUFBQSxvQkFBb0IsR0FBRyxJQUFJLGFBQUcsQ0FBQyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyw4QkFBTSxDQUFDLENBQUE7QUFFcEYsU0FBZ0IscUJBQXFCLENBQUMsYUFBNEI7SUFDaEUsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUE7QUFDOUQsQ0FBQztBQUZELHNEQUVDO0FBRUQsU0FBZ0IsZ0JBQWdCLENBQUMsYUFBNEI7SUFDM0QsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxvQkFBUSxDQUFDLE1BQU0sQ0FBQTtBQUNwRCxDQUFDO0FBRkQsNENBRUMifQ==