script-launcher
Version:
Script Launcher
41 lines (40 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
var Scripts = /** @class */ (function () {
function Scripts(scripts) {
this.scripts = scripts;
}
Scripts.getParameters = function (patternA, patternB) {
var columnsA = patternA.split(':');
var columnsB = patternB.split(':');
var parameters = {};
if (columnsA.length !== columnsB.length)
return null;
for (var index = 0; index < columnsA.length; index++) {
var itemA = columnsA[index];
var itemB = columnsB[index];
if (itemB.trim().startsWith('$')) {
parameters[itemB.trim().substr(1)] = itemA;
continue;
}
if (itemA.trim().startsWith('$')) {
parameters[itemA.trim().substr(1)] = itemB;
continue;
}
if (itemA !== itemB)
return null;
}
return parameters;
};
Scripts.prototype.find = function (pattern) {
for (var _i = 0, _a = Object.entries(this.scripts); _i < _a.length; _i++) {
var _b = _a[_i], name_1 = _b[0], script = _b[1];
var parameters = Scripts.getParameters(name_1, pattern);
if (parameters !== null)
return { name: name_1, parameters: parameters, script: script };
}
return null;
};
return Scripts;
}());
exports.Scripts = Scripts;