UNPKG

@tableau/taco-toolkit

Version:
74 lines 4.58 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getConnectorConfig = void 0; var fs_extra_1 = __importDefault(require("fs-extra")); var DEFAULT_WINDOW_SIZE = { width: 600, height: 800 }; var configRegistry = {}; function getConnectorConfig(connectorJsonPath) { // TODO: we cannot cache the config like this. This has memory leak. // connectorJsonPath is on connection-basis. There's no way (or very hard) to evict // the entries for closed connection. var connectorConfig = configRegistry[connectorJsonPath]; if (connectorConfig === undefined) { configRegistry[connectorJsonPath] = connectorConfig = new ConnectorConfig(connectorJsonPath); } return connectorConfig; } exports.getConnectorConfig = getConnectorConfig; /** Represents settings per connector that do not change. */ var ConnectorConfig = /** @class */ (function () { function ConnectorConfig(connectorJsonPath) { this.config = fs_extra_1.default.readJsonSync(connectorJsonPath); } Object.defineProperty(ConnectorConfig.prototype, "windowSize", { get: function () { var size = __assign({}, DEFAULT_WINDOW_SIZE); // set default var window = this.config.window; if (window) { if (window.height > 0) { size.height = window.height; } if (window.width > 0) { size.width = window.width; } } return size; }, enumerable: false, configurable: true }); Object.defineProperty(ConnectorConfig.prototype, "auth", { get: function () { var _a; return (_a = this.config.auth) !== null && _a !== void 0 ? _a : null; }, enumerable: false, configurable: true }); Object.defineProperty(ConnectorConfig.prototype, "permission", { get: function () { var _a, _b; return { api: (_b = (_a = this.config.permission) === null || _a === void 0 ? void 0 : _a.api) !== null && _b !== void 0 ? _b : {}, }; }, enumerable: false, configurable: true }); return ConnectorConfig; }()); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9lcHMvbWFpbi9jb21wb25lbnRzL2Nvbm5lY3Rvci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxzREFBMEI7QUFNMUIsSUFBTSxtQkFBbUIsR0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBRTdELElBQU0sY0FBYyxHQUFvQyxFQUFFLENBQUE7QUFFMUQsU0FBZ0Isa0JBQWtCLENBQUMsaUJBQXlCO0lBQzFELG9FQUFvRTtJQUNwRSxtRkFBbUY7SUFDbkYscUNBQXFDO0lBQ3JDLElBQUksZUFBZSxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFBO0lBQ3ZELElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRTtRQUNqQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsR0FBRyxlQUFlLEdBQUcsSUFBSSxlQUFlLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtLQUM3RjtJQUVELE9BQU8sZUFBZSxDQUFBO0FBQ3hCLENBQUM7QUFWRCxnREFVQztBQUNELDREQUE0RDtBQUM1RDtJQUlFLHlCQUFZLGlCQUF5QjtRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLGtCQUFHLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLENBQUE7SUFDbkQsQ0FBQztJQUVELHNCQUFJLHVDQUFVO2FBQWQ7WUFDRSxJQUFNLElBQUksZ0JBQWMsbUJBQW1CLENBQUUsQ0FBQSxDQUFDLGNBQWM7WUFDcEQsSUFBQSxNQUFNLEdBQUssSUFBSSxDQUFDLE1BQU0sT0FBaEIsQ0FBZ0I7WUFDOUIsSUFBSSxNQUFNLEVBQUU7Z0JBQ1YsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFBO2lCQUM1QjtnQkFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO29CQUNwQixJQUFJLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUE7aUJBQzFCO2FBQ0Y7WUFDRCxPQUFPLElBQUksQ0FBQTtRQUNiLENBQUM7OztPQUFBO0lBRUQsc0JBQUksaUNBQUk7YUFBUjs7WUFDRSxPQUFPLE1BQUEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLG1DQUFJLElBQUksQ0FBQTtRQUNqQyxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLHVDQUFVO2FBQWQ7O1lBQ0UsT0FBTztnQkFDTCxHQUFHLEVBQUUsTUFBQSxNQUFBLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSwwQ0FBRSxHQUFHLG1DQUFJLEVBQUU7YUFDdkMsQ0FBQTtRQUNILENBQUM7OztPQUFBO0lBQ0gsc0JBQUM7QUFBRCxDQUFDLEFBL0JELElBK0JDIn0=