var handler = function()

in quick-start/typescript/RedshiftDataAPI.js [73:122]


var handler = function (event) { return __awaiter(void 0, void 0, void 0, function () {
    var redshiftClusterId, redshiftDatabaseName, redshiftUser, redshiftIAMRole, runType, responses, isSynchronous, sqlStatements, redshiftDataApiClient, sqlStatements_1, sqlStatements_1_1, _a, command, query, res, e_1_1;
    var e_1, _b;
    return __generator(this, function (_c) {
        switch (_c.label) {
            case 0:
                redshiftClusterId = event.redshift_cluster_id, redshiftDatabaseName = event.redshift_database, redshiftUser = event.redshift_user, redshiftIAMRole = event.redshift_iam_role, runType = event.run_type;
                responses = new Map();
                if (runType !== 'synchronous' && runType !== 'asynchronous') {
                    throw new Error('Invalid Event run_type. \n run_type has to be synchronous or asynchronous.');
                }
                isSynchronous = (runType === 'synchronous');
                sqlStatements = populateSqlStatementSet(redshiftIAMRole);
                console.log("Running sql queries in " + runType + " mode. \n");
                redshiftDataApiClient = new AWS.RedshiftData({ region: 'us-east-1' });
                _c.label = 1;
            case 1:
                _c.trys.push([1, 6, 7, 8]);
                sqlStatements_1 = __values(sqlStatements), sqlStatements_1_1 = sqlStatements_1.next();
                _c.label = 2;
            case 2:
                if (!!sqlStatements_1_1.done) return [3 /*break*/, 5];
                _a = __read(sqlStatements_1_1.value, 2), command = _a[0], query = _a[1];
                console.log("Example of " + command + " mode.");
                return [4 /*yield*/, executeSqlDataApi(redshiftDataApiClient, redshiftClusterId, redshiftDatabaseName, redshiftUser, command, query, isSynchronous)];
            case 3:
                res = _c.sent();
                responses.set(command + " STATUS: ", res);
                _c.label = 4;
            case 4:
                sqlStatements_1_1 = sqlStatements_1.next();
                return [3 /*break*/, 2];
            case 5: return [3 /*break*/, 8];
            case 6:
                e_1_1 = _c.sent();
                e_1 = { error: e_1_1 };
                return [3 /*break*/, 8];
            case 7:
                try {
                    if (sqlStatements_1_1 && !sqlStatements_1_1.done && (_b = sqlStatements_1["return"])) _b.call(sqlStatements_1);
                }
                finally { if (e_1) throw e_1.error; }
                return [7 /*endfinally*/];
            case 8: return [2 /*return*/, {
                    statusCode: 200,
                    body: __spreadArray([], __read(responses))
                }];
        }
    });
}); };