chunk-22KBQSDB.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import {
  2. r
  3. } from "./chunk-YXWMMD76.js";
  4. // node_modules/@arcgis/core/core/CircularArray.js
  5. var s = class {
  6. constructor(t) {
  7. this.size = 0, this._start = 0, this.maxSize = t, this._buffer = new Array(t);
  8. }
  9. get entries() {
  10. return this._buffer;
  11. }
  12. enqueue(t) {
  13. if (this.size === this.maxSize) {
  14. const s2 = this._buffer[this._start];
  15. return this._buffer[this._start] = t, this._start = (this._start + 1) % this.maxSize, s2;
  16. }
  17. return this._buffer[(this._start + this.size++) % this.maxSize] = t, null;
  18. }
  19. dequeue() {
  20. if (0 === this.size)
  21. return null;
  22. const t = this._buffer[this._start];
  23. return this._buffer[this._start] = null, this.size--, this._start = (this._start + 1) % this.maxSize, t;
  24. }
  25. peek() {
  26. return 0 === this.size ? null : this._buffer[this._start];
  27. }
  28. find(s2) {
  29. if (0 === this.size)
  30. return null;
  31. for (const e of this._buffer)
  32. if (r(e) && s2(e))
  33. return e;
  34. return null;
  35. }
  36. clear(s2) {
  37. let e = this.dequeue();
  38. for (; r(e); )
  39. s2 && s2(e), e = this.dequeue();
  40. }
  41. };
  42. export {
  43. s
  44. };
  45. //# sourceMappingURL=chunk-22KBQSDB.js.map