chunk-CYI7KFYB.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. import {
  2. j as j2
  3. } from "./chunk-ALDCDSPV.js";
  4. import {
  5. d,
  6. e,
  7. l2 as l,
  8. n2 as n
  9. } from "./chunk-Y3WMVFTW.js";
  10. import {
  11. j,
  12. x
  13. } from "./chunk-ULGDPLM2.js";
  14. import {
  15. s
  16. } from "./chunk-EMJ4ZSM2.js";
  17. // node_modules/@arcgis/core/layers/mixins/refresh.js
  18. var t = new j2();
  19. var o = new WeakMap();
  20. function n2(e2) {
  21. c(e2) && t.push(e2);
  22. }
  23. function s2(e2) {
  24. c(e2) && t.includes(e2) && t.remove(e2);
  25. }
  26. function c(e2) {
  27. return e2 && typeof e2 == "object" && "refreshInterval" in e2 && "refresh" in e2;
  28. }
  29. function i(e2, r) {
  30. return Number.isFinite(e2) && Number.isFinite(r) ? r <= 0 ? e2 : i(r, e2 % r) : 0;
  31. }
  32. var f = 0;
  33. var a = 0;
  34. function l2() {
  35. const e2 = Date.now();
  36. for (const r of t)
  37. if (r.refreshInterval) {
  38. e2 - (o.get(r) ?? 0) + 5 >= 6e4 * r.refreshInterval && (o.set(r, e2), r.refresh(e2));
  39. }
  40. }
  41. l(() => {
  42. const e2 = Date.now();
  43. let r = 0;
  44. for (const n4 of t)
  45. r = i(Math.round(6e4 * n4.refreshInterval), r), n4.refreshInterval ? o.get(n4) || o.set(n4, e2) : o.delete(n4);
  46. if (r !== a) {
  47. if (a = r, clearInterval(f), a === 0)
  48. return void (f = 0);
  49. f = setInterval(l2, a);
  50. }
  51. });
  52. // node_modules/@arcgis/core/layers/mixins/RefreshableLayer.js
  53. var n3 = (p) => {
  54. let n4 = class extends p {
  55. constructor(...e2) {
  56. super(...e2), this.refreshInterval = 0, this.refreshTimestamp = 0, this._debounceHasDataChanged = x(() => this.hasDataChanged()), this.when().then(() => {
  57. n2(this);
  58. }, () => {
  59. });
  60. }
  61. destroy() {
  62. s2(this);
  63. }
  64. get refreshParameters() {
  65. return { _ts: this.refreshTimestamp || null };
  66. }
  67. refresh(e2 = Date.now()) {
  68. j(this._debounceHasDataChanged()).then((r) => {
  69. r && this._set("refreshTimestamp", e2), this.emit("refresh", { dataChanged: r });
  70. }, (e3) => {
  71. s.getLogger(this.declaredClass).error(e3), this.emit("refresh", { dataChanged: false, error: e3 });
  72. });
  73. }
  74. async hasDataChanged() {
  75. return true;
  76. }
  77. };
  78. return e([d({ type: Number, cast: (e2) => e2 >= 0.1 ? e2 : e2 <= 0 ? 0 : 0.1, json: { write: true } })], n4.prototype, "refreshInterval", void 0), e([d({ readOnly: true })], n4.prototype, "refreshTimestamp", void 0), e([d()], n4.prototype, "refreshParameters", null), n4 = e([n("esri.layers.mixins.RefreshableLayer")], n4), n4;
  79. };
  80. export {
  81. n3 as n
  82. };
  83. //# sourceMappingURL=chunk-CYI7KFYB.js.map