@tableau/taco-toolkit
Version:
Tableau Connector Toolkit
37 lines • 3.01 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveHandlerFile = void 0;
var change_case_1 = require("change-case");
var node_fs_1 = __importDefault(require("node:fs"));
var node_path_1 = __importDefault(require("node:path"));
var eps_logger_1 = require("../../logging/eps-logger");
/**
* Resolve custom handler name in handlerInput into a full file path.
*/
function resolveHandlerFile(resolutionConfig) {
var handlerName = resolutionConfig.handlerName, required = resolutionConfig.required, handlerType = resolutionConfig.handlerType, handlersDirPath = resolutionConfig.handlersDirPath;
if (!handlerName) {
if (required) {
throw new Error("Required handlerInput property '".concat(handlerType, "' is not specified."));
}
else {
// skip optional properties if not present
return;
}
}
var filename = "".concat(handlerName, ".js");
var customHandlerPath = node_path_1.default.join(handlersDirPath, filename);
if (!node_fs_1.default.existsSync(customHandlerPath)) {
eps_logger_1.Logger.error("CustomHandlerPath does not exist for ".concat(handlerType, ": ").concat(customHandlerPath));
throw new Error("Could not find handler file '".concat(filename, "' based on property '").concat(handlerType, "': '").concat(handlerName, "'"));
}
return {
path: customHandlerPath,
className: (0, change_case_1.pascalCase)(handlerName),
};
}
exports.resolveHandlerFile = resolveHandlerFile;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFuZGxlci1yZXNvbHZlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lcHMvZXh0cmFjdG9yL3BpcGVsaW5lcy9oYW5kbGVyLXJlc29sdmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDJDQUF3QztBQUN4QyxvREFBd0I7QUFDeEIsd0RBQTRCO0FBRTVCLHVEQUFpRDtBQWtCakQ7O0dBRUc7QUFDSCxTQUFnQixrQkFBa0IsQ0FBQyxnQkFBeUM7SUFDbEUsSUFBQSxXQUFXLEdBQTZDLGdCQUFnQixZQUE3RCxFQUFFLFFBQVEsR0FBbUMsZ0JBQWdCLFNBQW5ELEVBQUUsV0FBVyxHQUFzQixnQkFBZ0IsWUFBdEMsRUFBRSxlQUFlLEdBQUssZ0JBQWdCLGdCQUFyQixDQUFxQjtJQUVoRixJQUFJLENBQUMsV0FBVyxFQUFFO1FBQ2hCLElBQUksUUFBUSxFQUFFO1lBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQywwQ0FBbUMsV0FBVyx3QkFBcUIsQ0FBQyxDQUFBO1NBQ3JGO2FBQU07WUFDTCwwQ0FBMEM7WUFDMUMsT0FBTTtTQUNQO0tBQ0Y7SUFFRCxJQUFNLFFBQVEsR0FBRyxVQUFHLFdBQVcsUUFBSyxDQUFBO0lBQ3BDLElBQU0saUJBQWlCLEdBQUcsbUJBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBRTlELElBQUksQ0FBQyxpQkFBRSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFO1FBQ3JDLG1CQUFNLENBQUMsS0FBSyxDQUFDLCtDQUF3QyxXQUFXLGVBQUssaUJBQWlCLENBQUUsQ0FBQyxDQUFBO1FBQ3pGLE1BQU0sSUFBSSxLQUFLLENBQUMsdUNBQWdDLFFBQVEsa0NBQXdCLFdBQVcsaUJBQU8sV0FBVyxNQUFHLENBQUMsQ0FBQTtLQUNsSDtJQUNELE9BQU87UUFDTCxJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLFNBQVMsRUFBRSxJQUFBLHdCQUFVLEVBQUMsV0FBVyxDQUFDO0tBQ25DLENBQUE7QUFDSCxDQUFDO0FBdkJELGdEQXVCQyJ9