whats-up-dug 0.2.2 → 0.2.4

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.
Files changed (2) hide show
  1. package/dist/index.js +244 -173
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -1907,7 +1907,7 @@ var require_signal_exit = __commonJS((exports, module) => {
1907
1907
  emitter.on(ev, cb);
1908
1908
  return remove;
1909
1909
  };
1910
- unload = function unload() {
1910
+ unload = function unload2() {
1911
1911
  if (!loaded || !processOk(global.process)) {
1912
1912
  return;
1913
1913
  }
@@ -1922,7 +1922,7 @@ var require_signal_exit = __commonJS((exports, module) => {
1922
1922
  emitter.count -= 1;
1923
1923
  };
1924
1924
  module.exports.unload = unload;
1925
- emit = function emit(event, code, signal) {
1925
+ emit = function emit2(event, code, signal) {
1926
1926
  if (emitter.emitted[event]) {
1927
1927
  return;
1928
1928
  }
@@ -1951,7 +1951,7 @@ var require_signal_exit = __commonJS((exports, module) => {
1951
1951
  return signals;
1952
1952
  };
1953
1953
  loaded = false;
1954
- load = function load() {
1954
+ load = function load2() {
1955
1955
  if (loaded || !processOk(global.process)) {
1956
1956
  return;
1957
1957
  }
@@ -1970,7 +1970,7 @@ var require_signal_exit = __commonJS((exports, module) => {
1970
1970
  };
1971
1971
  module.exports.load = load;
1972
1972
  originalProcessReallyExit = process3.reallyExit;
1973
- processReallyExit = function processReallyExit(code) {
1973
+ processReallyExit = function processReallyExit2(code) {
1974
1974
  if (!processOk(global.process)) {
1975
1975
  return;
1976
1976
  }
@@ -1980,7 +1980,7 @@ var require_signal_exit = __commonJS((exports, module) => {
1980
1980
  originalProcessReallyExit.call(process3, process3.exitCode);
1981
1981
  };
1982
1982
  originalProcessEmit = process3.emit;
1983
- processEmit = function processEmit(ev, arg) {
1983
+ processEmit = function processEmit2(ev, arg) {
1984
1984
  if (ev === "exit" && processOk(global.process)) {
1985
1985
  if (arg !== undefined) {
1986
1986
  process3.exitCode = arg;
@@ -20179,11 +20179,11 @@ var require_backend = __commonJS((exports, module) => {
20179
20179
  function _typeof(obj) {
20180
20180
  "@babel/helpers - typeof";
20181
20181
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
20182
- _typeof = function _typeof(obj2) {
20182
+ _typeof = function _typeof2(obj2) {
20183
20183
  return typeof obj2;
20184
20184
  };
20185
20185
  } else {
20186
- _typeof = function _typeof(obj2) {
20186
+ _typeof = function _typeof2(obj2) {
20187
20187
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
20188
20188
  };
20189
20189
  }
@@ -20897,11 +20897,11 @@ var require_backend = __commonJS((exports, module) => {
20897
20897
  function _typeof(obj) {
20898
20898
  "@babel/helpers - typeof";
20899
20899
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
20900
- _typeof = function _typeof(obj2) {
20900
+ _typeof = function _typeof2(obj2) {
20901
20901
  return typeof obj2;
20902
20902
  };
20903
20903
  } else {
20904
- _typeof = function _typeof(obj2) {
20904
+ _typeof = function _typeof2(obj2) {
20905
20905
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
20906
20906
  };
20907
20907
  }
@@ -21357,11 +21357,11 @@ var require_backend = __commonJS((exports, module) => {
21357
21357
  function _typeof(obj) {
21358
21358
  "@babel/helpers - typeof";
21359
21359
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
21360
- _typeof = function _typeof(obj2) {
21360
+ _typeof = function _typeof2(obj2) {
21361
21361
  return typeof obj2;
21362
21362
  };
21363
21363
  } else {
21364
- _typeof = function _typeof(obj2) {
21364
+ _typeof = function _typeof2(obj2) {
21365
21365
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
21366
21366
  };
21367
21367
  }
@@ -21557,7 +21557,7 @@ var require_backend = __commonJS((exports, module) => {
21557
21557
  var LRU_LIST = Symbol("lruList");
21558
21558
  var CACHE = Symbol("cache");
21559
21559
  var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet");
21560
- var naiveLength = function naiveLength() {
21560
+ var naiveLength = function naiveLength2() {
21561
21561
  return 1;
21562
21562
  };
21563
21563
  var LRUCache = /* @__PURE__ */ function() {
@@ -21808,7 +21808,7 @@ var require_backend = __commonJS((exports, module) => {
21808
21808
  }
21809
21809
  }]);
21810
21810
  }();
21811
- var _get = function _get(self2, key, doUse) {
21811
+ var _get = function _get2(self2, key, doUse) {
21812
21812
  var node = self2[CACHE].get(key);
21813
21813
  if (node) {
21814
21814
  var hit = node.value;
@@ -21826,13 +21826,13 @@ var require_backend = __commonJS((exports, module) => {
21826
21826
  return hit.value;
21827
21827
  }
21828
21828
  };
21829
- var isStale = function isStale(self2, hit) {
21829
+ var isStale = function isStale2(self2, hit) {
21830
21830
  if (!hit || !hit.maxAge && !self2[MAX_AGE])
21831
21831
  return false;
21832
21832
  var diff = Date.now() - hit.now;
21833
21833
  return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE];
21834
21834
  };
21835
- var trim = function trim(self2) {
21835
+ var trim = function trim2(self2) {
21836
21836
  if (self2[LENGTH] > self2[MAX]) {
21837
21837
  for (var walker = self2[LRU_LIST].tail;self2[LENGTH] > self2[MAX] && walker !== null; ) {
21838
21838
  var prev = walker.prev;
@@ -21841,7 +21841,7 @@ var require_backend = __commonJS((exports, module) => {
21841
21841
  }
21842
21842
  }
21843
21843
  };
21844
- var _del = function _del(self2, node) {
21844
+ var _del = function _del2(self2, node) {
21845
21845
  if (node) {
21846
21846
  var hit = node.value;
21847
21847
  if (self2[DISPOSE])
@@ -21851,15 +21851,15 @@ var require_backend = __commonJS((exports, module) => {
21851
21851
  self2[LRU_LIST].removeNode(node);
21852
21852
  }
21853
21853
  };
21854
- var Entry = /* @__PURE__ */ _createClass(function Entry(key, value, length, now, maxAge) {
21855
- _classCallCheck(this, Entry);
21854
+ var Entry = /* @__PURE__ */ _createClass(function Entry2(key, value, length, now, maxAge) {
21855
+ _classCallCheck(this, Entry2);
21856
21856
  this.key = key;
21857
21857
  this.value = value;
21858
21858
  this.length = length;
21859
21859
  this.now = now;
21860
21860
  this.maxAge = maxAge || 0;
21861
21861
  });
21862
- var forEachStep = function forEachStep(self2, fn, node, thisp) {
21862
+ var forEachStep = function forEachStep2(self2, fn, node, thisp) {
21863
21863
  var hit = node.value;
21864
21864
  if (isStale(self2, hit)) {
21865
21865
  _del(self2, node);
@@ -22033,11 +22033,11 @@ var require_backend = __commonJS((exports, module) => {
22033
22033
  function _typeof(obj) {
22034
22034
  "@babel/helpers - typeof";
22035
22035
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
22036
- _typeof = function _typeof(obj2) {
22036
+ _typeof = function _typeof2(obj2) {
22037
22037
  return typeof obj2;
22038
22038
  };
22039
22039
  } else {
22040
- _typeof = function _typeof(obj2) {
22040
+ _typeof = function _typeof2(obj2) {
22041
22041
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
22042
22042
  };
22043
22043
  }
@@ -22733,11 +22733,11 @@ var require_backend = __commonJS((exports, module) => {
22733
22733
  function _typeof(obj) {
22734
22734
  "@babel/helpers - typeof";
22735
22735
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
22736
- _typeof = function _typeof(obj2) {
22736
+ _typeof = function _typeof2(obj2) {
22737
22737
  return typeof obj2;
22738
22738
  };
22739
22739
  } else {
22740
- _typeof = function _typeof(obj2) {
22740
+ _typeof = function _typeof2(obj2) {
22741
22741
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
22742
22742
  };
22743
22743
  }
@@ -22802,7 +22802,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
22802
22802
  if (Array.isArray(arr))
22803
22803
  return arr;
22804
22804
  }
22805
- var compareVersions = function compareVersions(v1, v2) {
22805
+ var compareVersions = function compareVersions2(v1, v2) {
22806
22806
  var n1 = validateAndParse(v1);
22807
22807
  var n2 = validateAndParse(v2);
22808
22808
  var p1 = n1.pop();
@@ -22817,15 +22817,15 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
22817
22817
  }
22818
22818
  return 0;
22819
22819
  };
22820
- var validate2 = function validate(version) {
22820
+ var validate2 = function validate3(version) {
22821
22821
  return typeof version === "string" && /^[v\d]/.test(version) && semver.test(version);
22822
22822
  };
22823
- var compare = function compare(v1, v2, operator) {
22823
+ var compare = function compare2(v1, v2, operator) {
22824
22824
  assertValidOperator(operator);
22825
22825
  var res = compareVersions(v1, v2);
22826
22826
  return operatorResMap[operator].includes(res);
22827
22827
  };
22828
- var satisfies = function satisfies(version, range) {
22828
+ var satisfies = function satisfies2(version, range) {
22829
22829
  var m = range.match(/^([<>=~^]+)/);
22830
22830
  var op = m ? m[1] : "=";
22831
22831
  if (op !== "^" && op !== "~")
@@ -22853,7 +22853,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
22853
22853
  return true;
22854
22854
  };
22855
22855
  var semver = /^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i;
22856
- var validateAndParse = function validateAndParse(version) {
22856
+ var validateAndParse = function validateAndParse2(version) {
22857
22857
  if (typeof version !== "string") {
22858
22858
  throw new TypeError("Invalid argument expected string");
22859
22859
  }
@@ -22864,17 +22864,17 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
22864
22864
  match.shift();
22865
22865
  return match;
22866
22866
  };
22867
- var isWildcard = function isWildcard(s) {
22867
+ var isWildcard = function isWildcard2(s) {
22868
22868
  return s === "*" || s === "x" || s === "X";
22869
22869
  };
22870
- var tryParse = function tryParse(v) {
22870
+ var tryParse = function tryParse2(v) {
22871
22871
  var n = parseInt(v, 10);
22872
22872
  return isNaN(n) ? v : n;
22873
22873
  };
22874
- var forceType = function forceType(a, b) {
22874
+ var forceType = function forceType2(a, b) {
22875
22875
  return _typeof(a) !== _typeof(b) ? [String(a), String(b)] : [a, b];
22876
22876
  };
22877
- var compareStrings = function compareStrings(a, b) {
22877
+ var compareStrings = function compareStrings2(a, b) {
22878
22878
  if (isWildcard(a) || isWildcard(b))
22879
22879
  return 0;
22880
22880
  var _forceType = forceType(tryParse(a), tryParse(b)), _forceType2 = _slicedToArray(_forceType, 2), ap = _forceType2[0], bp = _forceType2[1];
@@ -22884,7 +22884,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
22884
22884
  return -1;
22885
22885
  return 0;
22886
22886
  };
22887
- var compareSegments = function compareSegments(a, b) {
22887
+ var compareSegments = function compareSegments2(a, b) {
22888
22888
  for (var i = 0;i < Math.max(a.length, b.length); i++) {
22889
22889
  var r = compareStrings(a[i] || "0", b[i] || "0");
22890
22890
  if (r !== 0)
@@ -22900,7 +22900,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
22900
22900
  "<": [-1]
22901
22901
  };
22902
22902
  var allowedOperators = Object.keys(operatorResMap);
22903
- var assertValidOperator = function assertValidOperator(op) {
22903
+ var assertValidOperator = function assertValidOperator2(op) {
22904
22904
  if (typeof op !== "string") {
22905
22905
  throw new TypeError("Invalid operator type, expected string but got ".concat(_typeof(op)));
22906
22906
  }
@@ -22974,11 +22974,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
22974
22974
  function ReactSymbols_typeof(obj) {
22975
22975
  "@babel/helpers - typeof";
22976
22976
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
22977
- ReactSymbols_typeof = function _typeof(obj2) {
22977
+ ReactSymbols_typeof = function _typeof2(obj2) {
22978
22978
  return typeof obj2;
22979
22979
  };
22980
22980
  } else {
22981
- ReactSymbols_typeof = function _typeof(obj2) {
22981
+ ReactSymbols_typeof = function _typeof2(obj2) {
22982
22982
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
22983
22983
  };
22984
22984
  }
@@ -23081,11 +23081,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
23081
23081
  function utils_typeof(obj) {
23082
23082
  "@babel/helpers - typeof";
23083
23083
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
23084
- utils_typeof = function _typeof(obj2) {
23084
+ utils_typeof = function _typeof2(obj2) {
23085
23085
  return typeof obj2;
23086
23086
  };
23087
23087
  } else {
23088
- utils_typeof = function _typeof(obj2) {
23088
+ utils_typeof = function _typeof2(obj2) {
23089
23089
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
23090
23090
  };
23091
23091
  }
@@ -23145,7 +23145,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
23145
23145
  function getAllEnumerableKeys(obj) {
23146
23146
  var keys = new Set;
23147
23147
  var current = obj;
23148
- var _loop = function _loop() {
23148
+ var _loop = function _loop2() {
23149
23149
  var currentKeys = [].concat(_toConsumableArray(Object.keys(current)), _toConsumableArray(Object.getOwnPropertySymbols(current)));
23150
23150
  var descriptors = Object.getOwnPropertyDescriptors(current);
23151
23151
  currentKeys.forEach(function(key) {
@@ -23798,7 +23798,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
23798
23798
  }
23799
23799
  }
23800
23800
  }
23801
- var isPlainObject = function isPlainObject(object) {
23801
+ var isPlainObject = function isPlainObject2(object) {
23802
23802
  var objectPrototype = Object.getPrototypeOf(object);
23803
23803
  if (!objectPrototype)
23804
23804
  return true;
@@ -23887,11 +23887,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
23887
23887
  function hydration_typeof(obj) {
23888
23888
  "@babel/helpers - typeof";
23889
23889
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
23890
- hydration_typeof = function _typeof(obj2) {
23890
+ hydration_typeof = function _typeof2(obj2) {
23891
23891
  return typeof obj2;
23892
23892
  };
23893
23893
  } else {
23894
- hydration_typeof = function _typeof(obj2) {
23894
+ hydration_typeof = function _typeof2(obj2) {
23895
23895
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
23896
23896
  };
23897
23897
  }
@@ -24351,7 +24351,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
24351
24351
  if (it)
24352
24352
  o = it;
24353
24353
  var i = 0;
24354
- var F = function F() {};
24354
+ var F = function F2() {};
24355
24355
  return { s: F, n: function n() {
24356
24356
  if (i >= o.length)
24357
24357
  return { done: true };
@@ -24445,11 +24445,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
24445
24445
  function backend_utils_typeof(obj) {
24446
24446
  "@babel/helpers - typeof";
24447
24447
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
24448
- backend_utils_typeof = function _typeof(obj2) {
24448
+ backend_utils_typeof = function _typeof2(obj2) {
24449
24449
  return typeof obj2;
24450
24450
  };
24451
24451
  } else {
24452
- backend_utils_typeof = function _typeof(obj2) {
24452
+ backend_utils_typeof = function _typeof2(obj2) {
24453
24453
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
24454
24454
  };
24455
24455
  }
@@ -24655,7 +24655,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
24655
24655
  var b = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
24656
24656
  return compareVersions(a, b) > -1;
24657
24657
  }
24658
- var isReactNativeEnvironment = function isReactNativeEnvironment() {
24658
+ var isReactNativeEnvironment = function isReactNativeEnvironment2() {
24659
24659
  return window.document == null;
24660
24660
  };
24661
24661
  function extractLocation(url) {
@@ -25368,7 +25368,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
25368
25368
  event.preventDefault();
25369
25369
  event.stopPropagation();
25370
25370
  }
25371
- var selectElementForNode = function selectElementForNode(node) {
25371
+ var selectElementForNode = function selectElementForNode2(node) {
25372
25372
  var id = agent2.getIDForHostInstance(node);
25373
25373
  if (id !== null) {
25374
25374
  bridge.send("selectElement", id);
@@ -25581,11 +25581,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
25581
25581
  function TraceUpdates_typeof(obj) {
25582
25582
  "@babel/helpers - typeof";
25583
25583
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
25584
- TraceUpdates_typeof = function _typeof(obj2) {
25584
+ TraceUpdates_typeof = function _typeof2(obj2) {
25585
25585
  return typeof obj2;
25586
25586
  };
25587
25587
  } else {
25588
- TraceUpdates_typeof = function _typeof(obj2) {
25588
+ TraceUpdates_typeof = function _typeof2(obj2) {
25589
25589
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
25590
25590
  };
25591
25591
  }
@@ -25688,11 +25688,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
25688
25688
  function bridge_typeof(obj) {
25689
25689
  "@babel/helpers - typeof";
25690
25690
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
25691
- bridge_typeof = function _typeof(obj2) {
25691
+ bridge_typeof = function _typeof2(obj2) {
25692
25692
  return typeof obj2;
25693
25693
  };
25694
25694
  } else {
25695
- bridge_typeof = function _typeof(obj2) {
25695
+ bridge_typeof = function _typeof2(obj2) {
25696
25696
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
25697
25697
  };
25698
25698
  }
@@ -25786,7 +25786,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
25786
25786
  return self2;
25787
25787
  }
25788
25788
  function _getPrototypeOf(o) {
25789
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o2) {
25789
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) {
25790
25790
  return o2.__proto__ || Object.getPrototypeOf(o2);
25791
25791
  };
25792
25792
  return _getPrototypeOf(o);
@@ -25800,7 +25800,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
25800
25800
  _setPrototypeOf(subClass, superClass);
25801
25801
  }
25802
25802
  function _setPrototypeOf(o, p) {
25803
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o2, p2) {
25803
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {
25804
25804
  o2.__proto__ = p2;
25805
25805
  return o2;
25806
25806
  };
@@ -25991,11 +25991,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
25991
25991
  function agent_typeof(obj) {
25992
25992
  "@babel/helpers - typeof";
25993
25993
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
25994
- agent_typeof = function _typeof(obj2) {
25994
+ agent_typeof = function _typeof2(obj2) {
25995
25995
  return typeof obj2;
25996
25996
  };
25997
25997
  } else {
25998
- agent_typeof = function _typeof(obj2) {
25998
+ agent_typeof = function _typeof2(obj2) {
25999
25999
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
26000
26000
  };
26001
26001
  }
@@ -26053,7 +26053,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
26053
26053
  return self2;
26054
26054
  }
26055
26055
  function agent_getPrototypeOf(o) {
26056
- agent_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o2) {
26056
+ agent_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf2(o2) {
26057
26057
  return o2.__proto__ || Object.getPrototypeOf(o2);
26058
26058
  };
26059
26059
  return agent_getPrototypeOf(o);
@@ -26067,7 +26067,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
26067
26067
  agent_setPrototypeOf(subClass, superClass);
26068
26068
  }
26069
26069
  function agent_setPrototypeOf(o, p) {
26070
- agent_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o2, p2) {
26070
+ agent_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf2(o2, p2) {
26071
26071
  o2.__proto__ = p2;
26072
26072
  return o2;
26073
26073
  };
@@ -26081,7 +26081,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
26081
26081
  }
26082
26082
  return obj;
26083
26083
  }
26084
- var debug = function debug(methodName) {
26084
+ var debug = function debug2(methodName) {
26085
26085
  if (__DEBUG__) {
26086
26086
  var _console;
26087
26087
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1;_key < _len; _key++) {
@@ -26805,11 +26805,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
26805
26805
  function DevToolsComponentStackFrame_typeof(obj) {
26806
26806
  "@babel/helpers - typeof";
26807
26807
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
26808
- DevToolsComponentStackFrame_typeof = function _typeof(obj2) {
26808
+ DevToolsComponentStackFrame_typeof = function _typeof2(obj2) {
26809
26809
  return typeof obj2;
26810
26810
  };
26811
26811
  } else {
26812
- DevToolsComponentStackFrame_typeof = function _typeof(obj2) {
26812
+ DevToolsComponentStackFrame_typeof = function _typeof2(obj2) {
26813
26813
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
26814
26814
  };
26815
26815
  }
@@ -26859,7 +26859,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
26859
26859
  var control;
26860
26860
  try {
26861
26861
  if (construct) {
26862
- var Fake = function Fake() {
26862
+ var Fake = function Fake2() {
26863
26863
  throw Error();
26864
26864
  };
26865
26865
  Object.defineProperty(Fake.prototype, "props", {
@@ -27811,11 +27811,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
27811
27811
  function profilingHooks_typeof(obj) {
27812
27812
  "@babel/helpers - typeof";
27813
27813
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
27814
- profilingHooks_typeof = function _typeof(obj2) {
27814
+ profilingHooks_typeof = function _typeof2(obj2) {
27815
27815
  return typeof obj2;
27816
27816
  };
27817
27817
  } else {
27818
- profilingHooks_typeof = function _typeof(obj2) {
27818
+ profilingHooks_typeof = function _typeof2(obj2) {
27819
27819
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
27820
27820
  };
27821
27821
  }
@@ -28546,7 +28546,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
28546
28546
  if (it)
28547
28547
  o = it;
28548
28548
  var i = 0;
28549
- var F = function F() {};
28549
+ var F = function F2() {};
28550
28550
  return { s: F, n: function n() {
28551
28551
  if (i >= o.length)
28552
28552
  return { done: true };
@@ -28602,11 +28602,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
28602
28602
  function renderer_typeof(obj) {
28603
28603
  "@babel/helpers - typeof";
28604
28604
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
28605
- renderer_typeof = function _typeof(obj2) {
28605
+ renderer_typeof = function _typeof2(obj2) {
28606
28606
  return typeof obj2;
28607
28607
  };
28608
28608
  } else {
28609
- renderer_typeof = function _typeof(obj2) {
28609
+ renderer_typeof = function _typeof2(obj2) {
28610
28610
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
28611
28611
  };
28612
28612
  }
@@ -32063,7 +32063,7 @@ The error thrown in the component is:
32063
32063
  isFullMatch: trackedPathMatchDepth === trackedPath.length - 1
32064
32064
  };
32065
32065
  }
32066
- var formatPriorityLevel = function formatPriorityLevel(priorityLevel) {
32066
+ var formatPriorityLevel = function formatPriorityLevel2(priorityLevel) {
32067
32067
  if (priorityLevel == null) {
32068
32068
  return "Unknown";
32069
32069
  }
@@ -32234,11 +32234,11 @@ The error thrown in the component is:
32234
32234
  function legacy_renderer_typeof(obj) {
32235
32235
  "@babel/helpers - typeof";
32236
32236
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
32237
- legacy_renderer_typeof = function _typeof(obj2) {
32237
+ legacy_renderer_typeof = function _typeof2(obj2) {
32238
32238
  return typeof obj2;
32239
32239
  };
32240
32240
  } else {
32241
- legacy_renderer_typeof = function _typeof(obj2) {
32241
+ legacy_renderer_typeof = function _typeof2(obj2) {
32242
32242
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
32243
32243
  };
32244
32244
  }
@@ -32303,19 +32303,19 @@ The error thrown in the component is:
32303
32303
  var internalInstanceToRootIDMap = new WeakMap;
32304
32304
  var getElementIDForHostInstance = null;
32305
32305
  var findHostInstanceForInternalID;
32306
- var getNearestMountedDOMNode = function getNearestMountedDOMNode(node) {
32306
+ var getNearestMountedDOMNode = function getNearestMountedDOMNode2(node) {
32307
32307
  return null;
32308
32308
  };
32309
32309
  if (renderer.ComponentTree) {
32310
- getElementIDForHostInstance = function getElementIDForHostInstance(node) {
32310
+ getElementIDForHostInstance = function getElementIDForHostInstance2(node) {
32311
32311
  var internalInstance = renderer.ComponentTree.getClosestInstanceFromNode(node);
32312
32312
  return internalInstanceToIDMap.get(internalInstance) || null;
32313
32313
  };
32314
- findHostInstanceForInternalID = function findHostInstanceForInternalID(id) {
32314
+ findHostInstanceForInternalID = function findHostInstanceForInternalID2(id) {
32315
32315
  var internalInstance = idToInternalInstanceMap.get(id);
32316
32316
  return renderer.ComponentTree.getNodeFromInstance(internalInstance);
32317
32317
  };
32318
- getNearestMountedDOMNode = function getNearestMountedDOMNode(node) {
32318
+ getNearestMountedDOMNode = function getNearestMountedDOMNode2(node) {
32319
32319
  var internalInstance = renderer.ComponentTree.getClosestInstanceFromNode(node);
32320
32320
  if (internalInstance != null) {
32321
32321
  return renderer.ComponentTree.getNodeFromInstance(internalInstance);
@@ -32323,10 +32323,10 @@ The error thrown in the component is:
32323
32323
  return null;
32324
32324
  };
32325
32325
  } else if (renderer.Mount.getID && renderer.Mount.getNode) {
32326
- getElementIDForHostInstance = function getElementIDForHostInstance(node) {
32326
+ getElementIDForHostInstance = function getElementIDForHostInstance2(node) {
32327
32327
  return null;
32328
32328
  };
32329
- findHostInstanceForInternalID = function findHostInstanceForInternalID(id) {
32329
+ findHostInstanceForInternalID = function findHostInstanceForInternalID2(id) {
32330
32330
  return null;
32331
32331
  };
32332
32332
  }
@@ -32931,26 +32931,26 @@ The error thrown in the component is:
32931
32931
  }
32932
32932
  }
32933
32933
  }
32934
- var getProfilingData = function getProfilingData() {
32934
+ var getProfilingData = function getProfilingData2() {
32935
32935
  throw new Error("getProfilingData not supported by this renderer");
32936
32936
  };
32937
- var handleCommitFiberRoot = function handleCommitFiberRoot() {
32937
+ var handleCommitFiberRoot = function handleCommitFiberRoot2() {
32938
32938
  throw new Error("handleCommitFiberRoot not supported by this renderer");
32939
32939
  };
32940
- var handleCommitFiberUnmount = function handleCommitFiberUnmount() {
32940
+ var handleCommitFiberUnmount = function handleCommitFiberUnmount2() {
32941
32941
  throw new Error("handleCommitFiberUnmount not supported by this renderer");
32942
32942
  };
32943
- var handlePostCommitFiberRoot = function handlePostCommitFiberRoot() {
32943
+ var handlePostCommitFiberRoot = function handlePostCommitFiberRoot2() {
32944
32944
  throw new Error("handlePostCommitFiberRoot not supported by this renderer");
32945
32945
  };
32946
- var overrideError = function overrideError() {
32946
+ var overrideError = function overrideError2() {
32947
32947
  throw new Error("overrideError not supported by this renderer");
32948
32948
  };
32949
- var overrideSuspense = function overrideSuspense() {
32949
+ var overrideSuspense = function overrideSuspense2() {
32950
32950
  throw new Error("overrideSuspense not supported by this renderer");
32951
32951
  };
32952
- var startProfiling = function startProfiling() {};
32953
- var stopProfiling = function stopProfiling() {};
32952
+ var startProfiling = function startProfiling2() {};
32953
+ var stopProfiling = function stopProfiling2() {};
32954
32954
  function getBestMatchForTrackedPath() {
32955
32955
  return null;
32956
32956
  }
@@ -33162,7 +33162,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
33162
33162
  if (it)
33163
33163
  o = it;
33164
33164
  var i = 0;
33165
- var F = function F() {};
33165
+ var F = function F2() {};
33166
33166
  return { s: F, n: function n() {
33167
33167
  if (i >= o.length)
33168
33168
  return { done: true };
@@ -33411,10 +33411,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
33411
33411
  return;
33412
33412
  }
33413
33413
  var consoleMethodsToOverrideForStrictMode = ["group", "groupCollapsed", "info", "log"];
33414
- var _loop = function _loop() {
33414
+ var _loop = function _loop2() {
33415
33415
  var method = _consoleMethodsToOver[_i];
33416
33416
  var originalMethod = targetConsole[method];
33417
- var overrideMethod = function overrideMethod() {
33417
+ var overrideMethod = function overrideMethod2() {
33418
33418
  var settings = hook.settings;
33419
33419
  for (var _len = arguments.length, args = new Array(_len), _key = 0;_key < _len; _key++) {
33420
33420
  args[_key] = arguments[_key];
@@ -33476,10 +33476,10 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
33476
33476
  return;
33477
33477
  }
33478
33478
  var consoleMethodsToOverrideForErrorsAndWarnings = ["error", "trace", "warn"];
33479
- var _loop2 = function _loop2() {
33479
+ var _loop2 = function _loop22() {
33480
33480
  var method = _consoleMethodsToOver2[_i2];
33481
33481
  var originalMethod = targetConsole[method];
33482
- var overrideMethod = function overrideMethod() {
33482
+ var overrideMethod = function overrideMethod2() {
33483
33483
  var settings = hook.settings;
33484
33484
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0;_key2 < _len2; _key2++) {
33485
33485
  args[_key2] = arguments[_key2];
@@ -33658,7 +33658,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
33658
33658
  });
33659
33659
  hook.emit("react-devtools", agent2);
33660
33660
  hook.reactDevtoolsAgent = agent2;
33661
- var onAgentShutdown = function onAgentShutdown() {
33661
+ var onAgentShutdown = function onAgentShutdown2() {
33662
33662
  subs.forEach(function(fn) {
33663
33663
  return fn();
33664
33664
  });
@@ -33750,11 +33750,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
33750
33750
  function setupNativeStyleEditor_typeof(obj) {
33751
33751
  "@babel/helpers - typeof";
33752
33752
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
33753
- setupNativeStyleEditor_typeof = function _typeof(obj2) {
33753
+ setupNativeStyleEditor_typeof = function _typeof2(obj2) {
33754
33754
  return typeof obj2;
33755
33755
  };
33756
33756
  } else {
33757
- setupNativeStyleEditor_typeof = function _typeof(obj2) {
33757
+ setupNativeStyleEditor_typeof = function _typeof2(obj2) {
33758
33758
  return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
33759
33759
  };
33760
33760
  }
@@ -34083,7 +34083,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
34083
34083
  } else {
34084
34084
  var lazyResolveRNStyle;
34085
34085
  var lazyNativeStyleEditorValidAttributes;
34086
- var initAfterTick = function initAfterTick() {
34086
+ var initAfterTick = function initAfterTick2() {
34087
34087
  if (bridge !== null) {
34088
34088
  setupNativeStyleEditor(bridge, agent2, lazyResolveRNStyle, lazyNativeStyleEditorValidAttributes);
34089
34089
  }
@@ -49420,24 +49420,11 @@ function Breadcrumb({ items }) {
49420
49420
  var jsx_dev_runtime2 = __toESM(require_jsx_dev_runtime(), 1);
49421
49421
  function KeyHints({ hints }) {
49422
49422
  return /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
49423
- children: hints.map((hint, i2) => /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Box_default, {
49424
- children: [
49425
- i2 > 0 && /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
49426
- children: " "
49427
- }, undefined, false, undefined, this),
49428
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
49429
- bold: true,
49430
- children: hint.key
49431
- }, undefined, false, undefined, this),
49432
- /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
49433
- dimColor: true,
49434
- children: [
49435
- ": ",
49436
- hint.label
49437
- ]
49438
- }, undefined, true, undefined, this)
49439
- ]
49440
- }, i2, true, undefined, this))
49423
+ overflow: "hidden",
49424
+ children: /* @__PURE__ */ jsx_dev_runtime2.jsxDEV(Text, {
49425
+ wrap: "truncate",
49426
+ children: hints.map((h2, i2) => (i2 > 0 ? " " : "") + h2.key + ": " + h2.label).join("")
49427
+ }, undefined, false, undefined, this)
49441
49428
  }, undefined, false, undefined, this);
49442
49429
  }
49443
49430
 
@@ -51818,6 +51805,10 @@ function truncate(str, max) {
51818
51805
  return str.slice(0, max - 1) + "…";
51819
51806
  }
51820
51807
  var TIMESTAMP_COLS = new Set(["__createdtime__", "__updatedtime__"]);
51808
+ function padCell(str, width) {
51809
+ const truncated = truncate(str, width);
51810
+ return truncated + " ".repeat(Math.max(0, width - truncated.length));
51811
+ }
51821
51812
  function formatCell(value, column) {
51822
51813
  if (value === null || value === undefined)
51823
51814
  return "";
@@ -51837,9 +51828,11 @@ function DataTable({
51837
51828
  columns: columnsProp,
51838
51829
  selectedRow,
51839
51830
  page,
51840
- totalPages
51831
+ totalPages,
51832
+ colStart = 0,
51833
+ availableWidth
51841
51834
  }) {
51842
- const columns = import_react30.useMemo(() => {
51835
+ const allColumns = import_react30.useMemo(() => {
51843
51836
  if (columnsProp && columnsProp.length > 0)
51844
51837
  return columnsProp;
51845
51838
  if (data.length === 0)
@@ -51850,7 +51843,63 @@ function DataTable({
51850
51843
  return [...regular, ...internal];
51851
51844
  }, [data, columnsProp]);
51852
51845
  const { columns: termWidth, tablePageSize: maxVisibleRows } = useTerminalSize();
51846
+ const effectiveWidth = availableWidth ?? termWidth;
51853
51847
  const COL_GAP = 2;
51848
+ const MAX_COL_WIDTH = 30;
51849
+ const MIN_COL_WIDTH = 8;
51850
+ const ROW_MARKER_WIDTH = 4;
51851
+ const naturalWidths = import_react30.useMemo(() => {
51852
+ if (allColumns.length === 0)
51853
+ return [];
51854
+ return allColumns.map((col) => {
51855
+ let w2 = col.length;
51856
+ for (const row of data) {
51857
+ const cellLen = formatCell(row[col], col).length;
51858
+ if (cellLen > w2)
51859
+ w2 = cellLen;
51860
+ }
51861
+ return Math.max(MIN_COL_WIDTH, Math.min(w2, MAX_COL_WIDTH));
51862
+ });
51863
+ }, [allColumns, data]);
51864
+ const { columns, colWidths, hiddenLeft, hiddenRight } = import_react30.useMemo(() => {
51865
+ if (allColumns.length === 0)
51866
+ return { columns: [], colWidths: [], hiddenLeft: 0, hiddenRight: 0 };
51867
+ let maxStart = allColumns.length - 1;
51868
+ let budget = effectiveWidth - ROW_MARKER_WIDTH;
51869
+ for (let i2 = allColumns.length - 1;i2 >= 0; i2--) {
51870
+ const w2 = naturalWidths[i2];
51871
+ const needed = i2 < allColumns.length - 1 ? w2 + COL_GAP : w2;
51872
+ if (budget < needed)
51873
+ break;
51874
+ budget -= needed;
51875
+ maxStart = i2;
51876
+ }
51877
+ const clamped = Math.max(0, Math.min(colStart, maxStart));
51878
+ let available = effectiveWidth - ROW_MARKER_WIDTH;
51879
+ const visCols = [];
51880
+ const visWidths = [];
51881
+ for (let i2 = clamped;i2 < allColumns.length; i2++) {
51882
+ const w2 = naturalWidths[i2];
51883
+ const needed = visCols.length > 0 ? w2 + COL_GAP : w2;
51884
+ if (available < needed) {
51885
+ if (visCols.length === 0) {
51886
+ visCols.push(allColumns[i2]);
51887
+ visWidths.push(Math.max(MIN_COL_WIDTH, available));
51888
+ }
51889
+ break;
51890
+ }
51891
+ visCols.push(allColumns[i2]);
51892
+ visWidths.push(w2);
51893
+ available -= needed;
51894
+ }
51895
+ return {
51896
+ columns: visCols,
51897
+ colWidths: visWidths,
51898
+ hiddenLeft: clamped,
51899
+ hiddenRight: allColumns.length - clamped - visCols.length
51900
+ };
51901
+ }, [allColumns, naturalWidths, colStart, effectiveWidth]);
51902
+ const hasColScroll = hiddenLeft > 0 || hiddenRight > 0;
51854
51903
  const { windowStart, windowEnd } = import_react30.useMemo(() => {
51855
51904
  const total = data.length;
51856
51905
  const windowSize = Math.min(maxVisibleRows, total);
@@ -51862,21 +51911,6 @@ function DataTable({
51862
51911
  return { windowStart: start, windowEnd: start + windowSize };
51863
51912
  }, [data.length, selectedRow, maxVisibleRows]);
51864
51913
  const visibleData = import_react30.useMemo(() => data.slice(windowStart, windowEnd), [data, windowStart, windowEnd]);
51865
- const colWidths = import_react30.useMemo(() => {
51866
- if (columns.length === 0)
51867
- return [];
51868
- const widths = columns.map((col) => col.length);
51869
- for (const row of visibleData) {
51870
- for (let i2 = 0;i2 < columns.length; i2++) {
51871
- const cellLen = formatCell(row[columns[i2]], columns[i2]).length;
51872
- if (cellLen > widths[i2])
51873
- widths[i2] = cellLen;
51874
- }
51875
- }
51876
- const available = termWidth - 4 - COL_GAP * (columns.length - 1);
51877
- const maxPerCol = Math.max(8, Math.floor(available / columns.length));
51878
- return widths.map((w2) => Math.min(w2, maxPerCol));
51879
- }, [columns, visibleData, termWidth]);
51880
51914
  if (data.length === 0) {
51881
51915
  return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
51882
51916
  paddingY: 1,
@@ -51887,36 +51921,42 @@ function DataTable({
51887
51921
  }, undefined, false, undefined, this)
51888
51922
  }, undefined, false, undefined, this);
51889
51923
  }
51890
- const pad = (str, width) => {
51891
- const truncated = truncate(str, width);
51892
- return truncated + " ".repeat(Math.max(0, width - truncated.length));
51893
- };
51924
+ const pad = (str, width) => padCell(str, width);
51894
51925
  const gap = " ".repeat(COL_GAP);
51926
+ const buildRowStr = (cells) => cells.map((cell, i2) => (i2 > 0 ? gap : "") + cell).join("");
51927
+ const headerStr = buildRowStr(columns.map((col, i2) => pad(col, colWidths[i2])));
51928
+ const separatorStr = buildRowStr(colWidths.map((w2) => "─".repeat(w2)));
51895
51929
  return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
51896
51930
  flexDirection: "column",
51897
51931
  children: [
51932
+ hasColScroll && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
51933
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51934
+ dimColor: true,
51935
+ children: [
51936
+ " ",
51937
+ hiddenLeft > 0 ? `← ${hiddenLeft} col${hiddenLeft === 1 ? "" : "s"}` : "",
51938
+ hiddenLeft > 0 && hiddenRight > 0 ? " · " : "",
51939
+ hiddenRight > 0 ? `${hiddenRight} col${hiddenRight === 1 ? "" : "s"} →` : "",
51940
+ " (h/l)"
51941
+ ]
51942
+ }, undefined, true, undefined, this)
51943
+ }, undefined, false, undefined, this),
51898
51944
  /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
51899
- children: [
51900
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51901
- dimColor: true,
51902
- children: " "
51903
- }, undefined, false, undefined, this),
51904
- columns.map((col, i2) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51905
- dimColor: true,
51906
- bold: true,
51907
- children: [
51908
- i2 > 0 ? gap : "",
51909
- pad(col, colWidths[i2])
51910
- ]
51911
- }, col, true, undefined, this))
51912
- ]
51913
- }, undefined, true, undefined, this),
51945
+ children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51946
+ dimColor: true,
51947
+ bold: true,
51948
+ children: [
51949
+ " ",
51950
+ headerStr
51951
+ ]
51952
+ }, undefined, true, undefined, this)
51953
+ }, undefined, false, undefined, this),
51914
51954
  /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
51915
51955
  children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51916
51956
  dimColor: true,
51917
51957
  children: [
51918
51958
  " ",
51919
- columns.map((_2, i2) => "─".repeat(colWidths[i2])).join(gap)
51959
+ separatorStr
51920
51960
  ]
51921
51961
  }, undefined, true, undefined, this)
51922
51962
  }, undefined, false, undefined, this),
@@ -51924,7 +51964,7 @@ function DataTable({
51924
51964
  children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51925
51965
  dimColor: true,
51926
51966
  children: [
51927
- " \\u2191 ",
51967
+ " ",
51928
51968
  windowStart,
51929
51969
  " more above"
51930
51970
  ]
@@ -51933,28 +51973,33 @@ function DataTable({
51933
51973
  visibleData.map((row, viewIdx) => {
51934
51974
  const rowIdx = windowStart + viewIdx;
51935
51975
  const isSelected = rowIdx === selectedRow;
51976
+ const rowStr = buildRowStr(columns.map((col, i2) => pad(formatCell(row[col], col), colWidths[i2])));
51936
51977
  return /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
51937
- children: [
51938
- /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51939
- color: isSelected ? "cyan" : undefined,
51940
- bold: isSelected,
51941
- children: isSelected ? " ▶ " : " "
51942
- }, undefined, false, undefined, this),
51943
- columns.map((col, i2) => /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51944
- inverse: isSelected,
51945
- children: [
51946
- i2 > 0 ? gap : "",
51947
- pad(formatCell(row[col], col), colWidths[i2])
51948
- ]
51949
- }, col, true, undefined, this))
51950
- ]
51951
- }, rowIdx, true, undefined, this);
51978
+ children: isSelected ? /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51979
+ children: [
51980
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51981
+ color: "cyan",
51982
+ bold: true,
51983
+ children: " ▶ "
51984
+ }, undefined, false, undefined, this),
51985
+ /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51986
+ inverse: true,
51987
+ children: rowStr
51988
+ }, undefined, false, undefined, this)
51989
+ ]
51990
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51991
+ children: [
51992
+ " ",
51993
+ rowStr
51994
+ ]
51995
+ }, undefined, true, undefined, this)
51996
+ }, rowIdx, false, undefined, this);
51952
51997
  }),
51953
51998
  windowEnd < data.length && /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Box_default, {
51954
51999
  children: /* @__PURE__ */ jsx_dev_runtime6.jsxDEV(Text, {
51955
52000
  dimColor: true,
51956
52001
  children: [
51957
- " \\u2193 ",
52002
+ " ",
51958
52003
  data.length - windowEnd,
51959
52004
  " more below"
51960
52005
  ]
@@ -52439,14 +52484,15 @@ function TableScreen({
52439
52484
  onSelectRecord,
52440
52485
  overlayActive
52441
52486
  }) {
52442
- const { tablePageSize, rows: termRows } = useTerminalSize();
52487
+ const { tablePageSize, rows: termRows, columns: termCols } = useTerminalSize();
52443
52488
  const { stdout } = use_stdout_default();
52444
52489
  const [selectedRow, setSelectedRow] = import_react32.useState(0);
52445
52490
  const [page, setPage] = import_react32.useState(0);
52446
52491
  const [conditions, setConditions] = import_react32.useState([]);
52447
52492
  const [operator, setOperator] = import_react32.useState("and");
52448
52493
  const [sort, setSort] = import_react32.useState(undefined);
52449
- const [limit, setLimit] = import_react32.useState(tablePageSize);
52494
+ const [customLimit, setCustomLimit] = import_react32.useState(undefined);
52495
+ const limit = customLimit ?? tablePageSize;
52450
52496
  const [visibleColumns, setVisibleColumns] = import_react32.useState(undefined);
52451
52497
  const [overlay, _setOverlay] = import_react32.useState("none");
52452
52498
  const setOverlay = import_react32.useCallback((mode, prev) => {
@@ -52466,6 +52512,7 @@ function TableScreen({
52466
52512
  const [sortStep, setSortStep] = import_react32.useState("attr");
52467
52513
  const [columnToggles, setColumnToggles] = import_react32.useState({});
52468
52514
  const [columnIdx, setColumnIdx] = import_react32.useState(0);
52515
+ const [colStart, setColStart] = import_react32.useState(0);
52469
52516
  const [schemaScroll, setSchemaScroll] = import_react32.useState(0);
52470
52517
  const describeTable = import_react32.useCallback(() => client.describeTable(database, table), [client, database, table]);
52471
52518
  const {
@@ -52526,6 +52573,7 @@ function TableScreen({
52526
52573
  }, [schema]);
52527
52574
  import_react32.useEffect(() => {
52528
52575
  setSelectedRow(0);
52576
+ setColStart(0);
52529
52577
  }, [page, conditions, sort]);
52530
52578
  import_react32.useEffect(() => {
52531
52579
  if (allAttributes.length > 0 && Object.keys(columnToggles).length === 0) {
@@ -52639,6 +52687,14 @@ function TableScreen({
52639
52687
  setOverlay("schema-info", "none");
52640
52688
  return;
52641
52689
  }
52690
+ if (input === "h" || key.leftArrow) {
52691
+ setColStart((c2) => Math.max(0, c2 - 1));
52692
+ return;
52693
+ }
52694
+ if (input === "l" || key.rightArrow) {
52695
+ setColStart((c2) => Math.min(c2 + 1, Math.max(0, allAttributes.length - 1)));
52696
+ return;
52697
+ }
52642
52698
  if (input === "r") {
52643
52699
  client.clearCache();
52644
52700
  setFilterSummary("");
@@ -52810,12 +52866,12 @@ function TableScreen({
52810
52866
  paddingX: 2,
52811
52867
  children: [
52812
52868
  /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
52813
- marginBottom: 1,
52814
52869
  flexDirection: "column",
52815
52870
  children: [
52816
52871
  /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
52817
52872
  bold: true,
52818
52873
  children: [
52874
+ " ",
52819
52875
  "Table ",
52820
52876
  /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
52821
52877
  color: "cyan",
@@ -52826,6 +52882,7 @@ function TableScreen({
52826
52882
  /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Text, {
52827
52883
  dimColor: true,
52828
52884
  children: [
52885
+ " ",
52829
52886
  schema?.record_count?.toLocaleString() ?? "?",
52830
52887
  " record",
52831
52888
  schema?.record_count === 1 ? "" : "s",
@@ -53009,7 +53066,7 @@ function TableScreen({
53009
53066
  setOperator(op);
53010
53067
  setSort(s2);
53011
53068
  if (lim)
53012
- setLimit(lim);
53069
+ setCustomLimit(lim);
53013
53070
  setPage(0);
53014
53071
  setFilterSummary(conds.length > 0 ? `${conds.map((c2) => `${c2.attribute} ${c2.comparator} ${c2.value}`).join(` ${op} `)}` : "");
53015
53072
  setOverlay("none");
@@ -53067,7 +53124,9 @@ function TableScreen({
53067
53124
  columns: visibleColumns,
53068
53125
  selectedRow,
53069
53126
  page,
53070
- totalPages
53127
+ totalPages,
53128
+ colStart,
53129
+ availableWidth: termCols - 4
53071
53130
  }, undefined, false, undefined, this)
53072
53131
  }, undefined, false, undefined, this),
53073
53132
  dataLoading && rows && /* @__PURE__ */ jsx_dev_runtime8.jsxDEV(Box_default, {
@@ -53693,7 +53752,8 @@ function App2({
53693
53752
  initialScreen,
53694
53753
  initialUrl,
53695
53754
  initialUser,
53696
- initialPassword
53755
+ initialPassword,
53756
+ version
53697
53757
  }) {
53698
53758
  const { current, stack, push, pop } = useNavigation(initialScreen);
53699
53759
  const { exit } = use_app_default();
@@ -53779,7 +53839,7 @@ function App2({
53779
53839
  push("system", {});
53780
53840
  }, [push, clearScreen2]);
53781
53841
  const breadcrumbItems = import_react36.useMemo(() => {
53782
- const items = ["dug \uD83D\uDC15"];
53842
+ const items = [version ? `dug ${version} \uD83D\uDC15` : "dug \uD83D\uDC15"];
53783
53843
  if (connectedUrl) {
53784
53844
  try {
53785
53845
  const u2 = new URL(connectedUrl);
@@ -53846,6 +53906,7 @@ function App2({
53846
53906
  case "table":
53847
53907
  return [
53848
53908
  { key: "j/k", label: "navigate" },
53909
+ { key: "h/l", label: "scroll cols" },
53849
53910
  { key: "Enter", label: "view" },
53850
53911
  { key: "n/p", label: "page" },
53851
53912
  { key: "/", label: "search" },
@@ -53969,9 +54030,13 @@ function App2({
53969
54030
  }, undefined, false, undefined, this),
53970
54031
  /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
53971
54032
  flexDirection: "column",
54033
+ flexGrow: 1,
54034
+ flexShrink: 1,
54035
+ overflow: "hidden",
53972
54036
  children: renderScreen()
53973
54037
  }, undefined, false, undefined, this),
53974
54038
  /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Box_default, {
54039
+ flexShrink: 0,
53975
54040
  paddingX: 1,
53976
54041
  marginTop: 1,
53977
54042
  borderStyle: "single",
@@ -53979,8 +54044,10 @@ function App2({
53979
54044
  borderBottom: false,
53980
54045
  borderLeft: false,
53981
54046
  borderRight: false,
54047
+ overflow: "hidden",
53982
54048
  children: qPending ? /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(Text, {
53983
54049
  color: "yellow",
54050
+ wrap: "truncate",
53984
54051
  children: "Press q again to quit"
53985
54052
  }, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime12.jsxDEV(KeyHints, {
53986
54053
  hints
@@ -53992,6 +54059,9 @@ function App2({
53992
54059
 
53993
54060
  // src/index.tsx
53994
54061
  var jsx_dev_runtime13 = __toESM(require_jsx_dev_runtime(), 1);
54062
+ import { createRequire as createRequire2 } from "node:module";
54063
+ var require2 = createRequire2(import.meta.url);
54064
+ var { version } = require2("../package.json");
53995
54065
  function enterAltScreen() {
53996
54066
  process.stdout.write("\x1B[?1049h");
53997
54067
  process.stdout.write("\x1B[H");
@@ -54000,7 +54070,7 @@ function exitAltScreen() {
54000
54070
  process.stdout.write("\x1B[?1049l");
54001
54071
  }
54002
54072
  var program2 = new Command;
54003
- program2.name("dug").description("Interactive data exploration CLI for Harper").version("0.1.0").option("-u, --url <url>", "Harper instance URL", process.env.HARPER_URL).option("--user <username>", "Username", process.env.HARPER_USER).option("-p, --password <password>", "Password", process.env.HARPER_PASSWORD).option("--whats-up", "what's up Dug?").action(async (opts) => {
54073
+ program2.name("dug").description("Interactive data exploration CLI for Harper").version(version).option("-u, --url <url>", "Harper instance URL", process.env.HARPER_URL).option("--user <username>", "Username", process.env.HARPER_USER).option("-p, --password <password>", "Password", process.env.HARPER_PASSWORD).option("--whats-up", "what's up Dug?").action(async (opts) => {
54004
54074
  if (opts.whatsUp) {
54005
54075
  program2.help();
54006
54076
  return;
@@ -54038,7 +54108,8 @@ program2.name("dug").description("Interactive data exploration CLI for Harper").
54038
54108
  initialScreen,
54039
54109
  initialUrl: url,
54040
54110
  initialUser: user,
54041
- initialPassword: password
54111
+ initialPassword: password,
54112
+ version
54042
54113
  }, undefined, false, undefined, this));
54043
54114
  });
54044
54115
  program2.parse();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "whats-up-dug",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Interactive data exploration CLI for Harper",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",