@tellescope/sdk 1.68.7 → 1.68.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import { Socket } from 'socket.io-client';
3
2
  import { ReactNativeFile, S3PresignedPost } from "@tellescope/types-utilities";
4
3
  import { ClientModelForName, User } from "@tellescope/types-client";
@@ -1 +1 @@
1
- {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/session.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAmmEA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAsfD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAqiBD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAgD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBAmKhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAqtCD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAgG9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA"}
1
+ {"version":3,"file":"tests.d.ts","sourceRoot":"","sources":["../../../src/tests/tests.ts"],"names":[],"mappings":"AAqmEA,eAAO,MAAM,kCAAkC,qBAgJ9C,CAAA;AAED,eAAO,MAAM,mCAAmC,qBA2K/C,CAAA;AAGD,eAAO,MAAM,oBAAoB,qBAoHhC,CAAA;AAED,eAAO,MAAM,+BAA+B,qBAsF3C,CAAA;AAID,eAAO,MAAM,0BAA0B,qBAqCtC,CAAA;AAsfD,eAAO,MAAM,cAAc,qBAqC1B,CAAA;AAqiBD,eAAO,MAAM,6BAA6B,qBAgCzC,CAAA;AAED,eAAO,MAAM,0BAA0B,qBAmFtC,CAAA;AAqED,eAAO,MAAM,eAAe,qBAgD3B,CAAA;AAED,eAAO,MAAM,oBAAoB,6BAsBhC,CAAA;AAED,eAAO,MAAM,oCAAoC,qBAmKhD,CAAA;AAED,eAAO,MAAM,mCAAmC,qBAkE/C,CAAA;AAqtCD,eAAO,MAAM,yBAAyB,qBA0DrC,CAAA;AAED,eAAO,MAAM,kBAAkB,qBAgG9B,CAAA;AAED,eAAO,MAAM,sBAAsB,qBA0BlC,CAAA"}
@@ -60,6 +60,7 @@ import crypto from "crypto";
60
60
  import * as buffer from "buffer"; // only node >=15.7.0
61
61
  import { fieldsToValidationOld, mongoIdStringRequired, } from "@tellescope/validation";
62
62
  import { Session, EnduserSession } from "../sdk";
63
+ import { weighted_round_robin } from "@tellescope/utilities";
63
64
  import { DEFAULT_OPERATIONS, PLACEHOLDER_ID } from "@tellescope/constants";
64
65
  import { schema, } from "@tellescope/schema";
65
66
  import { assert, async_test, log_header, wait, } from "@tellescope/testing";
@@ -6762,6 +6763,7 @@ var tests = {
6762
6763
  var TRACK_OPEN_IMAGE = Buffer.from("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=", 'base64');
6763
6764
  var validate_schema = function () {
6764
6765
  var _a;
6766
+ log_header("Validate Schema");
6765
6767
  var endpoints = new Set([]);
6766
6768
  var modelName = undefined;
6767
6769
  for (modelName in schema) {
@@ -6783,6 +6785,158 @@ var validate_schema = function () {
6783
6785
  }
6784
6786
  }
6785
6787
  };
6788
+ var test_weighted_round_robin = function () { return __awaiter(void 0, void 0, void 0, function () {
6789
+ var testUsers, userIds, testAssignments, run_assignment_simulation;
6790
+ return __generator(this, function (_a) {
6791
+ switch (_a.label) {
6792
+ case 0:
6793
+ log_header("Test validate_weighted_round_robin");
6794
+ testUsers = [
6795
+ { id: '0', ticketAssignmentPriority: undefined },
6796
+ { id: '1', ticketAssignmentPriority: 1 },
6797
+ { id: '2', ticketAssignmentPriority: 2 },
6798
+ { id: '3', ticketAssignmentPriority: 3 },
6799
+ ];
6800
+ userIds = testUsers.map(function (u) { return u.id; });
6801
+ testAssignments = testUsers.map(function (u, i) { return ({
6802
+ id: i.toString(),
6803
+ key: 'test',
6804
+ timestamp: Date.now() - 1000,
6805
+ userId: u.id,
6806
+ }); });
6807
+ return [4 /*yield*/, async_test("Both empty", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
6808
+ return [2 /*return*/, weighted_round_robin({ assignments: [], users: [] })];
6809
+ }); }); }, { onResult: function (r) { return r.selected === undefined; } })];
6810
+ case 1:
6811
+ _a.sent();
6812
+ return [4 /*yield*/, async_test("Single user, empty assignment", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
6813
+ return [2 /*return*/, weighted_round_robin({ assignments: [], users: [testUsers[0]] })];
6814
+ }); }); }, { onResult: function (r) { return r.selected === testUsers[0].id; } })];
6815
+ case 2:
6816
+ _a.sent();
6817
+ return [4 /*yield*/, async_test("Both singletons", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
6818
+ return [2 /*return*/, weighted_round_robin({ assignments: [testAssignments[0]], users: [testUsers[0]] })];
6819
+ }); }); }, { onResult: function (r) { return r.selected === testUsers[0].id; } })];
6820
+ case 3:
6821
+ _a.sent();
6822
+ run_assignment_simulation = function (_a) {
6823
+ var iterations = _a.iterations, expectedSelections = _a.expectedSelections, _b = _a.users, users = _b === void 0 ? testUsers : _b, _c = _a.title, title = _c === void 0 ? "Simulation ".concat(iterations) : _c;
6824
+ var assignments = [];
6825
+ var selections = [];
6826
+ for (var i = 0; i < iterations; i++) {
6827
+ if (assignments.length !== i) {
6828
+ throw new Error("Invariant Violation: assignment not saved in history");
6829
+ }
6830
+ var selected = weighted_round_robin({ assignments: assignments, users: users }).selected;
6831
+ selections.push(selected);
6832
+ var assignment = {
6833
+ id: i.toString(),
6834
+ userId: selected || '',
6835
+ key: 'test',
6836
+ timestamp: i, // simply ensures increasing timestamps per assignment
6837
+ };
6838
+ // ensure that assignment order doesn't matter (e.g. weighted_round_robin sorts internally)
6839
+ if (i % 2 === 0) {
6840
+ assignments.push(assignment); // add to back
6841
+ }
6842
+ else {
6843
+ assignments.unshift(assignment); // add to front
6844
+ }
6845
+ }
6846
+ assert(objects_equivalent(selections, expectedSelections), title + '\n' + JSON.stringify({ expected: expectedSelections, got: selections }, null, 2), title);
6847
+ };
6848
+ run_assignment_simulation({ expectedSelections: [], iterations: 0 });
6849
+ run_assignment_simulation({ expectedSelections: [userIds[0]], iterations: 1 });
6850
+ run_assignment_simulation({ expectedSelections: [userIds[0], userIds[1]], iterations: 2 });
6851
+ run_assignment_simulation({ expectedSelections: [userIds[0], userIds[1], userIds[2]], iterations: 3 });
6852
+ run_assignment_simulation({ expectedSelections: [userIds[0], userIds[1], userIds[2], userIds[3]], iterations: 4 });
6853
+ run_assignment_simulation({ iterations: 5,
6854
+ expectedSelections: [
6855
+ userIds[0], userIds[1], userIds[2], userIds[3],
6856
+ userIds[0],
6857
+ ],
6858
+ });
6859
+ run_assignment_simulation({ iterations: 6, expectedSelections: [
6860
+ userIds[0], userIds[1], userIds[2], userIds[3],
6861
+ userIds[0], userIds[2],
6862
+ ] });
6863
+ run_assignment_simulation({ iterations: 7, expectedSelections: [
6864
+ userIds[0], userIds[1], userIds[2], userIds[3],
6865
+ userIds[0], userIds[2], userIds[3],
6866
+ ] });
6867
+ run_assignment_simulation({ iterations: 8, expectedSelections: [
6868
+ userIds[0], userIds[1], userIds[2], userIds[3],
6869
+ userIds[0], userIds[2], userIds[3],
6870
+ userIds[0],
6871
+ ] });
6872
+ run_assignment_simulation({ iterations: 9,
6873
+ expectedSelections: [
6874
+ userIds[0], userIds[1], userIds[2], userIds[3],
6875
+ userIds[0], userIds[2], userIds[3],
6876
+ userIds[0], userIds[3],
6877
+ ],
6878
+ });
6879
+ run_assignment_simulation({ iterations: 10,
6880
+ expectedSelections: [
6881
+ userIds[0], userIds[1], userIds[2], userIds[3],
6882
+ userIds[0], userIds[2], userIds[3],
6883
+ userIds[0], userIds[3],
6884
+ userIds[0],
6885
+ ],
6886
+ });
6887
+ run_assignment_simulation({ iterations: 11,
6888
+ expectedSelections: [
6889
+ userIds[0], userIds[1], userIds[2], userIds[3],
6890
+ userIds[0], userIds[2], userIds[3],
6891
+ userIds[0], userIds[3],
6892
+ userIds[0],
6893
+ userIds[0],
6894
+ ],
6895
+ });
6896
+ run_assignment_simulation({ iterations: 12,
6897
+ expectedSelections: [
6898
+ userIds[0], userIds[1], userIds[2], userIds[3],
6899
+ userIds[0], userIds[2], userIds[3],
6900
+ userIds[0], userIds[3],
6901
+ userIds[0],
6902
+ userIds[0],
6903
+ userIds[0],
6904
+ ],
6905
+ });
6906
+ run_assignment_simulation({ iterations: 13,
6907
+ expectedSelections: [
6908
+ userIds[0], userIds[1], userIds[2], userIds[3],
6909
+ userIds[0], userIds[2], userIds[3],
6910
+ userIds[0], userIds[3],
6911
+ userIds[0],
6912
+ userIds[0],
6913
+ userIds[0], userIds[1],
6914
+ ],
6915
+ });
6916
+ run_assignment_simulation({ iterations: 14,
6917
+ expectedSelections: [
6918
+ userIds[0], userIds[1], userIds[2], userIds[3],
6919
+ userIds[0], userIds[2], userIds[3],
6920
+ userIds[0], userIds[3],
6921
+ userIds[0],
6922
+ userIds[0],
6923
+ userIds[0], userIds[1], userIds[2],
6924
+ ],
6925
+ });
6926
+ run_assignment_simulation({ iterations: 15,
6927
+ expectedSelections: [
6928
+ userIds[0], userIds[1], userIds[2], userIds[3],
6929
+ userIds[0], userIds[2], userIds[3],
6930
+ userIds[0], userIds[3],
6931
+ userIds[0],
6932
+ userIds[0],
6933
+ userIds[0], userIds[1], userIds[2], userIds[3],
6934
+ ],
6935
+ });
6936
+ return [2 /*return*/];
6937
+ }
6938
+ });
6939
+ }); };
6786
6940
  (function () { return __awaiter(void 0, void 0, void 0, function () {
6787
6941
  var err_1, n, _a, _b, _c, _i, returnValidation, t, _d, _e, _f, _g, err_2;
6788
6942
  var _h, _j;
@@ -6795,9 +6949,12 @@ var validate_schema = function () {
6795
6949
  _k.sent();
6796
6950
  _k.label = 2;
6797
6951
  case 2:
6798
- _k.trys.push([2, 39, , 40]);
6799
- return [4 /*yield*/, validate_schema()];
6952
+ _k.trys.push([2, 40, , 41]);
6953
+ return [4 /*yield*/, test_weighted_round_robin()];
6800
6954
  case 3:
6955
+ _k.sent();
6956
+ return [4 /*yield*/, validate_schema()];
6957
+ case 4:
6801
6958
  _k.sent();
6802
6959
  return [4 /*yield*/, Promise.all([
6803
6960
  sdk.authenticate(email, password),
@@ -6808,116 +6965,116 @@ var validate_schema = function () {
6808
6965
  ])
6809
6966
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6810
6967
  ];
6811
- case 4:
6968
+ case 5:
6812
6969
  _k.sent();
6813
6970
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6814
6971
  return [4 /*yield*/, async_test("count exists",
6815
6972
  // @ts-ignore
6816
6973
  function () { return sdk.api.endusers.getSome({ returnCount: true }); }, { onResult: function (result) { return typeof result.count === 'number'; } })];
6817
- case 5:
6974
+ case 6:
6818
6975
  // console.log(JSON.stringify(await sdk.bulk_load({ load: [{ model: 'users' }]}), null, 2))
6819
6976
  _k.sent();
6820
6977
  return [4 /*yield*/, async_test("push_to_EHR allows missing addedResponses", function () { return sdk.api.form_responses.push_to_EHR({ id: PLACEHOLDER_ID }); }, { shouldError: true, onError: function (e) { return (e === null || e === void 0 ? void 0 : e.message) === 'Could not find a record for the given id'; } })];
6821
- case 6:
6978
+ case 7:
6822
6979
  _k.sent();
6823
6980
  return [4 /*yield*/, mfa_tests()];
6824
- case 7:
6981
+ case 8:
6825
6982
  _k.sent();
6826
6983
  return [4 /*yield*/, setup_tests()];
6827
- case 8:
6984
+ case 9:
6828
6985
  _k.sent();
6829
6986
  return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
6830
- case 9:
6987
+ case 10:
6831
6988
  _k.sent(); // should come right after setup tests
6832
6989
  return [4 /*yield*/, alternate_phones_tests()];
6833
- case 10:
6834
- _k.sent();
6835
- return [4 /*yield*/, ticket_queue_tests()];
6836
6990
  case 11:
6837
6991
  _k.sent();
6838
- return [4 /*yield*/, no_chained_triggers_tests()];
6992
+ return [4 /*yield*/, ticket_queue_tests()];
6839
6993
  case 12:
6840
6994
  _k.sent();
6841
- return [4 /*yield*/, field_equals_trigger_tests()];
6995
+ return [4 /*yield*/, no_chained_triggers_tests()];
6842
6996
  case 13:
6843
6997
  _k.sent();
6844
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
6998
+ return [4 /*yield*/, field_equals_trigger_tests()];
6845
6999
  case 14:
6846
7000
  _k.sent();
6847
- return [4 /*yield*/, role_based_access_tests()];
7001
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
6848
7002
  case 15:
6849
7003
  _k.sent();
6850
- return [4 /*yield*/, automation_trigger_tests()];
7004
+ return [4 /*yield*/, role_based_access_tests()];
6851
7005
  case 16:
6852
7006
  _k.sent();
6853
- return [4 /*yield*/, enduser_session_tests()];
7007
+ return [4 /*yield*/, automation_trigger_tests()];
6854
7008
  case 17:
6855
7009
  _k.sent();
6856
- return [4 /*yield*/, nextReminderInMS_tests()];
7010
+ return [4 /*yield*/, enduser_session_tests()];
6857
7011
  case 18:
6858
7012
  _k.sent();
6859
- return [4 /*yield*/, search_tests()];
7013
+ return [4 /*yield*/, nextReminderInMS_tests()];
6860
7014
  case 19:
6861
7015
  _k.sent();
6862
- return [4 /*yield*/, wait_for_trigger_tests()];
7016
+ return [4 /*yield*/, search_tests()];
6863
7017
  case 20:
6864
7018
  _k.sent();
6865
- return [4 /*yield*/, pdf_generation()];
7019
+ return [4 /*yield*/, wait_for_trigger_tests()];
6866
7020
  case 21:
6867
7021
  _k.sent();
6868
- return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
7022
+ return [4 /*yield*/, pdf_generation()];
6869
7023
  case 22:
6870
7024
  _k.sent();
6871
- return [4 /*yield*/, rate_limit_tests()];
7025
+ return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests()];
6872
7026
  case 23:
6873
7027
  _k.sent();
6874
- return [4 /*yield*/, merge_enduser_tests()];
7028
+ return [4 /*yield*/, rate_limit_tests()];
6875
7029
  case 24:
6876
7030
  _k.sent();
6877
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
7031
+ return [4 /*yield*/, merge_enduser_tests()];
6878
7032
  case 25:
6879
7033
  _k.sent();
6880
- return [4 /*yield*/, auto_reply_tests()];
7034
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
6881
7035
  case 26:
6882
7036
  _k.sent();
6883
- return [4 /*yield*/, sub_organization_enduser_tests()];
7037
+ return [4 /*yield*/, auto_reply_tests()];
6884
7038
  case 27:
6885
7039
  _k.sent();
6886
- return [4 /*yield*/, sub_organization_tests()];
7040
+ return [4 /*yield*/, sub_organization_enduser_tests()];
6887
7041
  case 28:
6888
7042
  _k.sent();
6889
- return [4 /*yield*/, filter_by_date_tests()];
7043
+ return [4 /*yield*/, sub_organization_tests()];
6890
7044
  case 29:
6891
7045
  _k.sent();
6892
- return [4 /*yield*/, generate_user_auth_tests()];
7046
+ return [4 /*yield*/, filter_by_date_tests()];
6893
7047
  case 30:
6894
7048
  _k.sent();
6895
- return [4 /*yield*/, generateEnduserAuthTests()];
7049
+ return [4 /*yield*/, generate_user_auth_tests()];
6896
7050
  case 31:
6897
7051
  _k.sent();
6898
- return [4 /*yield*/, public_form_tests()];
7052
+ return [4 /*yield*/, generateEnduserAuthTests()];
6899
7053
  case 32:
6900
7054
  _k.sent();
6901
- return [4 /*yield*/, badInputTests()];
7055
+ return [4 /*yield*/, public_form_tests()];
6902
7056
  case 33:
6903
7057
  _k.sent();
6904
- return [4 /*yield*/, filterTests()];
7058
+ return [4 /*yield*/, badInputTests()];
6905
7059
  case 34:
6906
7060
  _k.sent();
6907
- return [4 /*yield*/, updatesTests()];
7061
+ return [4 /*yield*/, filterTests()];
6908
7062
  case 35:
6909
7063
  _k.sent();
6910
- return [4 /*yield*/, threadKeyTests()];
7064
+ return [4 /*yield*/, updatesTests()];
6911
7065
  case 36:
6912
7066
  _k.sent();
6913
- return [4 /*yield*/, enduserAccessTests()];
7067
+ return [4 /*yield*/, threadKeyTests()];
6914
7068
  case 37:
6915
7069
  _k.sent();
6916
- return [4 /*yield*/, enduser_redaction_tests()];
7070
+ return [4 /*yield*/, enduserAccessTests()];
6917
7071
  case 38:
6918
7072
  _k.sent();
6919
- return [3 /*break*/, 40];
7073
+ return [4 /*yield*/, enduser_redaction_tests()];
6920
7074
  case 39:
7075
+ _k.sent();
7076
+ return [3 /*break*/, 41];
7077
+ case 40:
6921
7078
  err_1 = _k.sent();
6922
7079
  console.error("Failed during custom test");
6923
7080
  if (err_1.message && err_1.info) {
@@ -6927,18 +7084,18 @@ var validate_schema = function () {
6927
7084
  console.error(err_1);
6928
7085
  }
6929
7086
  process.exit(1);
6930
- return [3 /*break*/, 40];
6931
- case 40:
7087
+ return [3 /*break*/, 41];
7088
+ case 41:
6932
7089
  _a = schema;
6933
7090
  _b = [];
6934
7091
  for (_c in _a)
6935
7092
  _b.push(_c);
6936
7093
  _i = 0;
6937
- _k.label = 41;
6938
- case 41:
6939
- if (!(_i < _b.length)) return [3 /*break*/, 44];
7094
+ _k.label = 42;
7095
+ case 42:
7096
+ if (!(_i < _b.length)) return [3 /*break*/, 45];
6940
7097
  _c = _b[_i];
6941
- if (!(_c in _a)) return [3 /*break*/, 43];
7098
+ if (!(_c in _a)) return [3 /*break*/, 44];
6942
7099
  n = _c;
6943
7100
  returnValidation = (_j = (_h = schema[n].customActions) === null || _h === void 0 ? void 0 : _h.create) === null || _j === void 0 ? void 0 : _j.returns;
6944
7101
  return [4 /*yield*/, run_generated_tests({
@@ -6949,41 +7106,41 @@ var validate_schema = function () {
6949
7106
  create: returnValidation // ModelFields<ClientModel>,
6950
7107
  }
6951
7108
  })];
6952
- case 42:
6953
- _k.sent();
6954
- _k.label = 43;
6955
7109
  case 43:
6956
- _i++;
6957
- return [3 /*break*/, 41];
7110
+ _k.sent();
7111
+ _k.label = 44;
6958
7112
  case 44:
7113
+ _i++;
7114
+ return [3 /*break*/, 42];
7115
+ case 45:
6959
7116
  _d = tests;
6960
7117
  _e = [];
6961
7118
  for (_f in _d)
6962
7119
  _e.push(_f);
6963
7120
  _g = 0;
6964
- _k.label = 45;
6965
- case 45:
6966
- if (!(_g < _e.length)) return [3 /*break*/, 50];
6967
- _f = _e[_g];
6968
- if (!(_f in _d)) return [3 /*break*/, 49];
6969
- t = _f;
6970
7121
  _k.label = 46;
6971
7122
  case 46:
6972
- _k.trys.push([46, 48, , 49]);
6973
- return [4 /*yield*/, tests[t]()];
7123
+ if (!(_g < _e.length)) return [3 /*break*/, 51];
7124
+ _f = _e[_g];
7125
+ if (!(_f in _d)) return [3 /*break*/, 50];
7126
+ t = _f;
7127
+ _k.label = 47;
6974
7128
  case 47:
6975
- _k.sent();
6976
- return [3 /*break*/, 49];
7129
+ _k.trys.push([47, 49, , 50]);
7130
+ return [4 /*yield*/, tests[t]()];
6977
7131
  case 48:
7132
+ _k.sent();
7133
+ return [3 /*break*/, 50];
7134
+ case 49:
6978
7135
  err_2 = _k.sent();
6979
7136
  console.error("Error running test:");
6980
7137
  console.error(err_2);
6981
7138
  process.exit(1);
6982
- return [3 /*break*/, 49];
6983
- case 49:
6984
- _g++;
6985
- return [3 /*break*/, 45];
7139
+ return [3 /*break*/, 50];
6986
7140
  case 50:
7141
+ _g++;
7142
+ return [3 /*break*/, 46];
7143
+ case 51:
6987
7144
  process.exit();
6988
7145
  return [2 /*return*/];
6989
7146
  }