chunk-GN35O2ZO.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import {
  2. j
  3. } from "./chunk-LBW34VZ2.js";
  4. import {
  5. e,
  6. l2 as l,
  7. n5 as n,
  8. y3 as y
  9. } from "./chunk-2Z2TG5CU.js";
  10. import {
  11. g,
  12. x
  13. } from "./chunk-V6P2MAQQ.js";
  14. import {
  15. s2 as s
  16. } from "./chunk-E5O6P5I2.js";
  17. // node_modules/@arcgis/core/layers/mixins/refresh.js
  18. var t = new j();
  19. var o = /* @__PURE__ */ 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 null != e2 && "object" == typeof e2 && "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. var _a;
  36. const e2 = Date.now();
  37. for (const r of t)
  38. if (r.refreshInterval) {
  39. e2 - ((_a = o.get(r)) != null ? _a : 0) + 5 >= 6e4 * r.refreshInterval && (o.set(r, e2), r.refresh(e2));
  40. }
  41. }
  42. l(() => {
  43. const e2 = Date.now();
  44. let r = 0;
  45. for (const n3 of t)
  46. r = i(Math.round(6e4 * n3.refreshInterval), r), n3.refreshInterval ? o.get(n3) || o.set(n3, e2) : o.delete(n3);
  47. if (r !== a) {
  48. if (a = r, clearInterval(f), 0 === a)
  49. return void (f = 0);
  50. f = setInterval(l2, a);
  51. }
  52. });
  53. // node_modules/@arcgis/core/layers/mixins/RefreshableLayer.js
  54. var p = (n3) => {
  55. let p2 = class extends n3 {
  56. constructor(...e2) {
  57. super(...e2), this.refreshInterval = 0, this.refreshTimestamp = 0, this._debounceHasDataChanged = x(() => this.hasDataChanged()), this.when().then(() => {
  58. n2(this);
  59. }, () => {
  60. });
  61. }
  62. destroy() {
  63. s2(this);
  64. }
  65. get refreshParameters() {
  66. return { _ts: this.refreshTimestamp || null };
  67. }
  68. refresh(e2 = Date.now()) {
  69. g(this._debounceHasDataChanged()).then((r) => {
  70. r && this._set("refreshTimestamp", e2), this.emit("refresh", { dataChanged: r });
  71. }, (e3) => {
  72. s.getLogger(this.declaredClass).error(e3), this.emit("refresh", { dataChanged: false, error: e3 });
  73. });
  74. }
  75. async hasDataChanged() {
  76. return true;
  77. }
  78. };
  79. return e([y({ type: Number, cast: (e2) => e2 >= 0.1 ? e2 : e2 <= 0 ? 0 : 0.1, json: { write: true } })], p2.prototype, "refreshInterval", void 0), e([y({ readOnly: true })], p2.prototype, "refreshTimestamp", void 0), e([y()], p2.prototype, "refreshParameters", null), p2 = e([n("esri.layers.mixins.RefreshableLayer")], p2), p2;
  80. };
  81. export {
  82. p
  83. };
  84. //# sourceMappingURL=chunk-GN35O2ZO.js.map