@copart/ops-tool-kit 1.13.0-beta.12 → 1.13.0-beta.13

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.
@@ -48,7 +48,7 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
48
48
  var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
49
49
 
50
50
  const name$1 = "@copart/ops-tool-kit";
51
- const version$3 = "1.13.0-beta.12";
51
+ const version$3 = "1.13.0-beta.13";
52
52
  const main$1 = "dist/ops-tool-kit.js";
53
53
  const style = "dist/ops-tool-kit.css";
54
54
  const files = [
@@ -68107,6 +68107,7 @@ function ContextualHelp(_ref) {
68107
68107
 
68108
68108
  var _excluded = ["signal"];
68109
68109
  var pending = new Map();
68110
+ var STORAGE_REQUEST_TIMEOUT_MS = 5000;
68110
68111
  function requestId() {
68111
68112
  return "bridge-".concat(Date.now(), "-").concat(Math.random().toString(36).slice(2, 9));
68112
68113
  }
@@ -68234,11 +68235,29 @@ function sendFetchRequest(payload) {
68234
68235
  });
68235
68236
  }
68236
68237
  function sendStorageGet(payload) {
68237
- return new Promise(function (resolve) {
68238
+ var timeoutMs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : STORAGE_REQUEST_TIMEOUT_MS;
68239
+ return new Promise(function (_resolve) {
68238
68240
  var id = requestId();
68241
+ var timer = setTimeout(function () {
68242
+ if (pending.has(id)) {
68243
+ pending.delete(id);
68244
+ console.warn('[iframe-bridge/transport] STORAGE_GET timed out', {
68245
+ op: payload === null || payload === void 0 ? void 0 : payload.op,
68246
+ key: payload === null || payload === void 0 ? void 0 : payload.key,
68247
+ timeoutMs: timeoutMs
68248
+ });
68249
+ _resolve(undefined);
68250
+ }
68251
+ }, timeoutMs);
68239
68252
  pending.set(id, {
68240
- resolve: resolve,
68241
- reject: function reject() {}
68253
+ resolve: function resolve(result) {
68254
+ clearTimeout(timer);
68255
+ _resolve(result);
68256
+ },
68257
+ reject: function reject() {
68258
+ clearTimeout(timer);
68259
+ _resolve(undefined);
68260
+ }
68242
68261
  });
68243
68262
  post('STORAGE_GET', _objectSpread2(_objectSpread2({}, payload), {}, {
68244
68263
  requestId: id
@@ -68246,11 +68265,29 @@ function sendStorageGet(payload) {
68246
68265
  });
68247
68266
  }
68248
68267
  function sendStorageSet(payload) {
68249
- return new Promise(function (resolve) {
68268
+ var timeoutMs = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : STORAGE_REQUEST_TIMEOUT_MS;
68269
+ return new Promise(function (_resolve2) {
68250
68270
  var id = requestId();
68271
+ var timer = setTimeout(function () {
68272
+ if (pending.has(id)) {
68273
+ pending.delete(id);
68274
+ console.warn('[iframe-bridge/transport] STORAGE_SET timed out', {
68275
+ op: payload === null || payload === void 0 ? void 0 : payload.op,
68276
+ key: payload === null || payload === void 0 ? void 0 : payload.key,
68277
+ timeoutMs: timeoutMs
68278
+ });
68279
+ _resolve2(undefined);
68280
+ }
68281
+ }, timeoutMs);
68251
68282
  pending.set(id, {
68252
- resolve: resolve,
68253
- reject: function reject() {}
68283
+ resolve: function resolve(result) {
68284
+ clearTimeout(timer);
68285
+ _resolve2(result);
68286
+ },
68287
+ reject: function reject() {
68288
+ clearTimeout(timer);
68289
+ _resolve2(undefined);
68290
+ }
68254
68291
  });
68255
68292
  post('STORAGE_SET', _objectSpread2(_objectSpread2({}, payload), {}, {
68256
68293
  requestId: id
@@ -68258,22 +68295,22 @@ function sendStorageSet(payload) {
68258
68295
  });
68259
68296
  }
68260
68297
  function getInitData() {
68261
- return new Promise(function (_resolve) {
68298
+ return new Promise(function (_resolve3) {
68262
68299
  var id = requestId();
68263
68300
  var timer = setTimeout(function () {
68264
68301
  if (pending.has(id)) {
68265
68302
  pending.delete(id);
68266
- _resolve(null);
68303
+ _resolve3(null);
68267
68304
  }
68268
68305
  }, 5000);
68269
68306
  pending.set(id, {
68270
68307
  resolve: function resolve(result) {
68271
68308
  clearTimeout(timer);
68272
- _resolve(result);
68309
+ _resolve3(result);
68273
68310
  },
68274
68311
  reject: function reject() {
68275
68312
  clearTimeout(timer);
68276
- _resolve(null);
68313
+ _resolve3(null);
68277
68314
  }
68278
68315
  });
68279
68316
  post('GET_INIT_DATA', {
@@ -68410,6 +68447,17 @@ function setInitCache(initData) {
68410
68447
  count: Array.isArray(initData[k]) ? initData[k].length : 'not-array'
68411
68448
  });
68412
68449
  });
68450
+ var appConfigKeys = Object.keys(initData).filter(function (k) {
68451
+ return k.endsWith(':config') && k !== 'opsportal-core:config';
68452
+ });
68453
+ appConfigKeys.forEach(function (k) {
68454
+ var _initData$k;
68455
+ cache.local[k] = initData[k];
68456
+ console.log('[iframe-bridge/storage] setInitCache mapped app config', {
68457
+ key: k,
68458
+ hasRunConfig: Boolean((_initData$k = initData[k]) === null || _initData$k === void 0 ? void 0 : _initData$k.runConfig)
68459
+ });
68460
+ });
68413
68461
  }
68414
68462
  function setExtraLocal(key, value) {
68415
68463
  cache.local[key] = value;
@@ -69784,31 +69832,39 @@ function hydrateAppConfig(_x) {
69784
69832
  }
69785
69833
  function _hydrateAppConfig() {
69786
69834
  _hydrateAppConfig = _asyncToGenerator$1(/*#__PURE__*/_regenerator().m(function _callee(_ref) {
69787
- var appName, sendStorageGet, setExtraLocal, fetcher, configFallbackUri, validateAppConfig, appConfig;
69835
+ var appName, getCachedLocalItem, sendStorageGet, setExtraLocal, fetcher, configFallbackUri, validateAppConfig, configKey, appConfig;
69788
69836
  return _regenerator().w(function (_context) {
69789
69837
  while (1) switch (_context.n) {
69790
69838
  case 0:
69791
- appName = _ref.appName, sendStorageGet = _ref.sendStorageGet, setExtraLocal = _ref.setExtraLocal, fetcher = _ref.fetcher, configFallbackUri = _ref.configFallbackUri, validateAppConfig = _ref.validateAppConfig;
69839
+ appName = _ref.appName, getCachedLocalItem = _ref.getCachedLocalItem, sendStorageGet = _ref.sendStorageGet, setExtraLocal = _ref.setExtraLocal, fetcher = _ref.fetcher, configFallbackUri = _ref.configFallbackUri, validateAppConfig = _ref.validateAppConfig;
69840
+ configKey = "".concat(appName, ":config");
69841
+ appConfig = getCachedLocalItem(configKey);
69842
+ if (isValidAppConfig(appConfig, validateAppConfig)) {
69843
+ _context.n = 2;
69844
+ break;
69845
+ }
69792
69846
  _context.n = 1;
69793
69847
  return sendStorageGet({
69794
69848
  op: 'getLocalItem',
69795
- key: "".concat(appName, ":config")
69849
+ key: configKey
69796
69850
  });
69797
69851
  case 1:
69798
69852
  appConfig = _context.v;
69853
+ case 2:
69799
69854
  if (!(!isValidAppConfig(appConfig, validateAppConfig) && configFallbackUri && fetcher)) {
69800
- _context.n = 3;
69855
+ _context.n = 4;
69801
69856
  break;
69802
69857
  }
69803
- _context.n = 2;
69858
+ console.log('[Iframe] fetching app config from', configFallbackUri);
69859
+ _context.n = 3;
69804
69860
  return fetcher.getConfig(configFallbackUri);
69805
- case 2:
69806
- appConfig = _context.v;
69807
69861
  case 3:
69862
+ appConfig = _context.v;
69863
+ case 4:
69808
69864
  if (isValidAppConfig(appConfig, validateAppConfig)) {
69809
- setExtraLocal("".concat(appName, ":config"), appConfig);
69865
+ setExtraLocal(configKey, appConfig);
69810
69866
  }
69811
- case 4:
69867
+ case 5:
69812
69868
  return _context.a(2);
69813
69869
  }
69814
69870
  }, _callee);
@@ -69837,11 +69893,11 @@ function hydratePermissions(_x2) {
69837
69893
  */
69838
69894
  function _hydratePermissions() {
69839
69895
  _hydratePermissions = _asyncToGenerator$1(/*#__PURE__*/_regenerator().m(function _callee3(_ref2) {
69840
- var permissionKeys, sendStorageGet, setExtraLocal, permissionsOnlyIfArray, keys;
69896
+ var permissionKeys, getCachedLocalItem, sendStorageGet, setExtraLocal, permissionsOnlyIfArray, keys;
69841
69897
  return _regenerator().w(function (_context3) {
69842
69898
  while (1) switch (_context3.n) {
69843
69899
  case 0:
69844
- permissionKeys = _ref2.permissionKeys, sendStorageGet = _ref2.sendStorageGet, setExtraLocal = _ref2.setExtraLocal, permissionsOnlyIfArray = _ref2.permissionsOnlyIfArray;
69900
+ permissionKeys = _ref2.permissionKeys, getCachedLocalItem = _ref2.getCachedLocalItem, sendStorageGet = _ref2.sendStorageGet, setExtraLocal = _ref2.setExtraLocal, permissionsOnlyIfArray = _ref2.permissionsOnlyIfArray;
69845
69901
  keys = normalizePermissionKeys(permissionKeys);
69846
69902
  _context3.n = 1;
69847
69903
  return Promise.all(keys.map(/*#__PURE__*/function () {
@@ -69850,6 +69906,11 @@ function _hydratePermissions() {
69850
69906
  return _regenerator().w(function (_context2) {
69851
69907
  while (1) switch (_context2.n) {
69852
69908
  case 0:
69909
+ perms = getCachedLocalItem(key);
69910
+ if (!(perms == null || permissionsOnlyIfArray && !Array.isArray(perms))) {
69911
+ _context2.n = 2;
69912
+ break;
69913
+ }
69853
69914
  _context2.n = 1;
69854
69915
  return sendStorageGet({
69855
69916
  op: 'getLocalItem',
@@ -69857,14 +69918,15 @@ function _hydratePermissions() {
69857
69918
  });
69858
69919
  case 1:
69859
69920
  perms = _context2.v;
69921
+ case 2:
69860
69922
  if (!(permissionsOnlyIfArray && !Array.isArray(perms))) {
69861
- _context2.n = 2;
69923
+ _context2.n = 3;
69862
69924
  break;
69863
69925
  }
69864
69926
  return _context2.a(2);
69865
- case 2:
69866
- if (perms != null) setExtraLocal(key, perms);
69867
69927
  case 3:
69928
+ if (perms != null) setExtraLocal(key, perms);
69929
+ case 4:
69868
69930
  return _context2.a(2);
69869
69931
  }
69870
69932
  }, _callee2);
@@ -69885,7 +69947,7 @@ function bootstrapIframeApp(_x3) {
69885
69947
  }
69886
69948
  function _bootstrapIframeApp() {
69887
69949
  _bootstrapIframeApp = _asyncToGenerator$1(/*#__PURE__*/_regenerator().m(function _callee4(options) {
69888
- var _ref4, _ref4$appName, appName, permissionKeys, rootSelector, onInitCache, render, _ref4$standaloneMode, standaloneMode, standaloneRender, _ref4$standaloneError, standaloneErrorMessage, _ref4$fetchConfigFrom, fetchConfigFromShell, _ref4$configFallbackU, configFallbackUri, validateAppConfig, _ref4$permissionsOnly, permissionsOnlyIfArray, rootNode, bridge, fetcher, getInitialUri, getInitData, setInitCache, setExtraLocal, sendStorageGet, setAppName, _yield$Promise$all, _yield$Promise$all2, initialUri, initData, tasks, _t;
69950
+ var _ref4, _ref4$appName, appName, permissionKeys, rootSelector, onInitCache, render, _ref4$standaloneMode, standaloneMode, standaloneRender, _ref4$standaloneError, standaloneErrorMessage, _ref4$fetchConfigFrom, fetchConfigFromShell, _ref4$configFallbackU, configFallbackUri, validateAppConfig, _ref4$permissionsOnly, permissionsOnlyIfArray, rootNode, bridge, fetcher, storage, getInitialUri, getInitData, setInitCache, setExtraLocal, sendStorageGet, setAppName, _yield$Promise$all, _yield$Promise$all2, initialUri, initData, getCachedLocalItem, tasks, _t;
69889
69951
  return _regenerator().w(function (_context4) {
69890
69952
  while (1) switch (_context4.p = _context4.n) {
69891
69953
  case 0:
@@ -69921,7 +69983,7 @@ function _bootstrapIframeApp() {
69921
69983
  }
69922
69984
  return _context4.a(2);
69923
69985
  case 4:
69924
- bridge = iframeFacade.bridge, fetcher = iframeFacade.fetcher;
69986
+ bridge = iframeFacade.bridge, fetcher = iframeFacade.fetcher, storage = iframeFacade.storage;
69925
69987
  getInitialUri = bridge.getInitialUri, getInitData = bridge.getInitData, setInitCache = bridge.setInitCache, setExtraLocal = bridge.setExtraLocal, sendStorageGet = bridge.sendStorageGet, setAppName = bridge.setAppName;
69926
69988
  _context4.n = 5;
69927
69989
  return Promise.all([getInitialUri(), getInitData()]);
@@ -69931,12 +69993,15 @@ function _bootstrapIframeApp() {
69931
69993
  initialUri = _yield$Promise$all2[0];
69932
69994
  initData = _yield$Promise$all2[1];
69933
69995
  if (appName && typeof setAppName === 'function') setAppName(appName);
69934
- if (!initData) {
69935
- _context4.n = 9;
69936
- break;
69996
+ if (initData) {
69997
+ setInitCache(initData);
69998
+ if (onInitCache) onInitCache(initData);
69999
+ } else {
70000
+ console.warn('[Iframe] no initData from shell');
69937
70001
  }
69938
- setInitCache(initData);
69939
- if (onInitCache) onInitCache(initData);
70002
+ getCachedLocalItem = function getCachedLocalItem(key) {
70003
+ return storage.getLocalItem(key);
70004
+ };
69940
70005
  if (!(fetchConfigFromShell && appName)) {
69941
70006
  _context4.n = 9;
69942
70007
  break;
@@ -69944,6 +70009,7 @@ function _bootstrapIframeApp() {
69944
70009
  _context4.p = 6;
69945
70010
  tasks = [hydrateAppConfig({
69946
70011
  appName: appName,
70012
+ getCachedLocalItem: getCachedLocalItem,
69947
70013
  sendStorageGet: sendStorageGet,
69948
70014
  setExtraLocal: setExtraLocal,
69949
70015
  fetcher: fetcher,
@@ -69953,6 +70019,7 @@ function _bootstrapIframeApp() {
69953
70019
  if (permissionKeys) {
69954
70020
  tasks.push(hydratePermissions({
69955
70021
  permissionKeys: permissionKeys,
70022
+ getCachedLocalItem: getCachedLocalItem,
69956
70023
  sendStorageGet: sendStorageGet,
69957
70024
  setExtraLocal: setExtraLocal,
69958
70025
  permissionsOnlyIfArray: permissionsOnlyIfArray