sanity 3.74.2-corel.18 → 3.74.2-coreui.20

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 (121) hide show
  1. package/lib/_chunks-cjs/runtime.js +8 -4
  2. package/lib/_chunks-cjs/runtime.js.map +1 -1
  3. package/lib/_chunks-cjs/version.js +1 -1
  4. package/lib/_chunks-es/version.mjs +1 -1
  5. package/lib/_legacy/version.esm.js +1 -1
  6. package/package.json +10 -11
  7. package/src/_internal/cli/server/renderDocument.tsx +12 -0
  8. package/src/_internal/cli/server/runtime.ts +13 -10
  9. package/src/_internal/cli/server/vite/plugin-sanity-build-entries.ts +14 -12
  10. package/dist/BroadcastDisplayedDocument-BHYI8o6u.mjs +0 -19
  11. package/dist/BroadcastDisplayedDocument-BHYI8o6u.mjs.map +0 -1
  12. package/dist/DisplayedDocumentBroadcaster-DfHPxc7C.mjs +0 -58
  13. package/dist/DisplayedDocumentBroadcaster-DfHPxc7C.mjs.map +0 -1
  14. package/dist/LiveQueries-sYvgBCKh.mjs +0 -267
  15. package/dist/LiveQueries-sYvgBCKh.mjs.map +0 -1
  16. package/dist/LoaderQueries-AQneabiG.mjs +0 -581
  17. package/dist/LoaderQueries-AQneabiG.mjs.map +0 -1
  18. package/dist/Observable-wwWYwtkh.mjs +0 -551
  19. package/dist/Observable-wwWYwtkh.mjs.map +0 -1
  20. package/dist/PostMessageDocuments-DLMdHDk6.mjs +0 -75
  21. package/dist/PostMessageDocuments-DLMdHDk6.mjs.map +0 -1
  22. package/dist/PostMessageFeatures-CazMQz3f.mjs +0 -21
  23. package/dist/PostMessageFeatures-CazMQz3f.mjs.map +0 -1
  24. package/dist/PostMessagePerspective-m4uZ6sI5.mjs +0 -23
  25. package/dist/PostMessagePerspective-m4uZ6sI5.mjs.map +0 -1
  26. package/dist/PostMessagePreviewSnapshots-Dr7CEAiM.mjs +0 -66
  27. package/dist/PostMessagePreviewSnapshots-Dr7CEAiM.mjs.map +0 -1
  28. package/dist/PostMessageRefreshMutations-CWb9UqSy.mjs +0 -66
  29. package/dist/PostMessageRefreshMutations-CWb9UqSy.mjs.map +0 -1
  30. package/dist/PostMessageSchema-BVFyZOH1.mjs +0 -514
  31. package/dist/PostMessageSchema-BVFyZOH1.mjs.map +0 -1
  32. package/dist/PostMessageTelemetry-CSluBvcC.mjs +0 -51
  33. package/dist/PostMessageTelemetry-CSluBvcC.mjs.map +0 -1
  34. package/dist/PresentationToolGrantsCheck-4zo266wj.mjs +0 -3919
  35. package/dist/PresentationToolGrantsCheck-4zo266wj.mjs.map +0 -1
  36. package/dist/QRCodeSVG-D6VfGEbM.mjs +0 -648
  37. package/dist/QRCodeSVG-D6VfGEbM.mjs.map +0 -1
  38. package/dist/SourceContext-T8zcpOpp.mjs +0 -33
  39. package/dist/SourceContext-T8zcpOpp.mjs.map +0 -1
  40. package/dist/StructureToolProvider-BMLps71e.mjs +0 -13815
  41. package/dist/StructureToolProvider-BMLps71e.mjs.map +0 -1
  42. package/dist/Subject-DP0DoUP_.mjs +0 -108
  43. package/dist/Subject-DP0DoUP_.mjs.map +0 -1
  44. package/dist/ViteDevServerStopped-DdibXNvO.mjs +0 -44
  45. package/dist/ViteDevServerStopped-DdibXNvO.mjs.map +0 -1
  46. package/dist/_createContext.mjs +0 -36
  47. package/dist/_createContext.mjs.map +0 -1
  48. package/dist/_singletons.mjs +0 -195
  49. package/dist/_singletons.mjs.map +0 -1
  50. package/dist/browser-BzDH2pyp.mjs +0 -455
  51. package/dist/browser-BzDH2pyp.mjs.map +0 -1
  52. package/dist/browser-DWCoWoiH.mjs +0 -3988
  53. package/dist/browser-DWCoWoiH.mjs.map +0 -1
  54. package/dist/debounceTime-BeoKrERE.mjs +0 -130
  55. package/dist/debounceTime-BeoKrERE.mjs.map +0 -1
  56. package/dist/desk.mjs +0 -52
  57. package/dist/desk.mjs.map +0 -1
  58. package/dist/first-Di4GZDIY.mjs +0 -42
  59. package/dist/first-Di4GZDIY.mjs.map +0 -1
  60. package/dist/get-psIoeD-z.mjs +0 -327
  61. package/dist/get-psIoeD-z.mjs.map +0 -1
  62. package/dist/hooks-4sgcd521.mjs +0 -90
  63. package/dist/hooks-4sgcd521.mjs.map +0 -1
  64. package/dist/index-9PJcXUTv.mjs +0 -87
  65. package/dist/index-9PJcXUTv.mjs.map +0 -1
  66. package/dist/index-ByFK-IwD.mjs +0 -528
  67. package/dist/index-ByFK-IwD.mjs.map +0 -1
  68. package/dist/index-C2OAo3To.mjs +0 -7079
  69. package/dist/index-C2OAo3To.mjs.map +0 -1
  70. package/dist/index-C3OvVLVP.mjs +0 -4636
  71. package/dist/index-C3OvVLVP.mjs.map +0 -1
  72. package/dist/index-DBPVDKJN.mjs +0 -1198
  73. package/dist/index-DBPVDKJN.mjs.map +0 -1
  74. package/dist/index-DkvUNBNf.mjs +0 -73
  75. package/dist/index-DkvUNBNf.mjs.map +0 -1
  76. package/dist/index-Sp9w8lMg.mjs +0 -118
  77. package/dist/index-Sp9w8lMg.mjs.map +0 -1
  78. package/dist/index.browser-BxT2qp9y.mjs +0 -104
  79. package/dist/index.browser-BxT2qp9y.mjs.map +0 -1
  80. package/dist/index.mjs +0 -129019
  81. package/dist/index.mjs.map +0 -1
  82. package/dist/isObservable-ByOheaM8.mjs +0 -8
  83. package/dist/isObservable-ByOheaM8.mjs.map +0 -1
  84. package/dist/never-ChKjLemk.mjs +0 -6
  85. package/dist/never-ChKjLemk.mjs.map +0 -1
  86. package/dist/pane-C4tskUPg.mjs +0 -5
  87. package/dist/pane-C4tskUPg.mjs.map +0 -1
  88. package/dist/pane-Dhx8FvsK.mjs +0 -5
  89. package/dist/pane-Dhx8FvsK.mjs.map +0 -1
  90. package/dist/presentation-CSS9GR9X.mjs +0 -984
  91. package/dist/presentation-CSS9GR9X.mjs.map +0 -1
  92. package/dist/presentation.mjs +0 -14
  93. package/dist/presentation.mjs.map +0 -1
  94. package/dist/resources-4cbq8YlR.mjs +0 -124
  95. package/dist/resources-4cbq8YlR.mjs.map +0 -1
  96. package/dist/resources-BVETz6Ur.mjs +0 -57
  97. package/dist/resources-BVETz6Ur.mjs.map +0 -1
  98. package/dist/resources-D4AaU75F.mjs +0 -434
  99. package/dist/resources-D4AaU75F.mjs.map +0 -1
  100. package/dist/resources-Dc-6ZcPg.mjs +0 -157
  101. package/dist/resources-Dc-6ZcPg.mjs.map +0 -1
  102. package/dist/resources-DgU0prBM.mjs +0 -179
  103. package/dist/resources-DgU0prBM.mjs.map +0 -1
  104. package/dist/resources-MD8RsYhH.mjs +0 -288
  105. package/dist/resources-MD8RsYhH.mjs.map +0 -1
  106. package/dist/router.mjs +0 -689
  107. package/dist/router.mjs.map +0 -1
  108. package/dist/share-bcOpIdQz.mjs +0 -71
  109. package/dist/share-bcOpIdQz.mjs.map +0 -1
  110. package/dist/shareReplay-Dj1O6fKV.mjs +0 -43
  111. package/dist/shareReplay-Dj1O6fKV.mjs.map +0 -1
  112. package/dist/stegaEncodeSourceMap-DXdUZQye.mjs +0 -342
  113. package/dist/stegaEncodeSourceMap-DXdUZQye.mjs.map +0 -1
  114. package/dist/structure.mjs +0 -56
  115. package/dist/structure.mjs.map +0 -1
  116. package/dist/takeUntil-CgZP1bze.mjs +0 -111
  117. package/dist/takeUntil-CgZP1bze.mjs.map +0 -1
  118. package/dist/v4-C78sE4Gb.mjs +0 -27082
  119. package/dist/v4-C78sE4Gb.mjs.map +0 -1
  120. package/dist/version-D7UZEoYI.mjs +0 -5
  121. package/dist/version-D7UZEoYI.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoaderQueries-AQneabiG.mjs","sources":["../../../node_modules/.pnpm/obliterator@2.0.4/node_modules/obliterator/iterator.js","../../../node_modules/.pnpm/obliterator@2.0.4/node_modules/obliterator/support.js","../../../node_modules/.pnpm/obliterator@2.0.4/node_modules/obliterator/foreach.js","../../../node_modules/.pnpm/mnemonist@0.39.8/node_modules/mnemonist/utils/typed-arrays.js","../../../node_modules/.pnpm/mnemonist@0.39.8/node_modules/mnemonist/utils/iterables.js","../../../node_modules/.pnpm/mnemonist@0.39.8/node_modules/mnemonist/lru-cache.js","../../../node_modules/.pnpm/mnemonist@0.39.8/node_modules/mnemonist/lru-cache-with-delete.js","../../../node_modules/.pnpm/@sanity+presentation@1.19.14-release.0_@emotion+is-prop-valid@1.3.1_@sanity+color@3.0.6_debug_vqegs67ktulknun2leapg5jvli/node_modules/@sanity/presentation/dist/_chunks-es/LoaderQueries.js"],"sourcesContent":["/**\n * Obliterator Iterator Class\n * ===========================\n *\n * Simple class representing the library's iterators.\n */\n\n/**\n * Iterator class.\n *\n * @constructor\n * @param {function} next - Next function.\n */\nfunction Iterator(next) {\n if (typeof next !== 'function')\n throw new Error('obliterator/iterator: expecting a function!');\n\n this.next = next;\n}\n\n/**\n * If symbols are supported, we add `next` to `Symbol.iterator`.\n */\nif (typeof Symbol !== 'undefined')\n Iterator.prototype[Symbol.iterator] = function () {\n return this;\n };\n\n/**\n * Returning an iterator of the given values.\n *\n * @param {any...} values - Values.\n * @return {Iterator}\n */\nIterator.of = function () {\n var args = arguments,\n l = args.length,\n i = 0;\n\n return new Iterator(function () {\n if (i >= l) return {done: true};\n\n return {done: false, value: args[i++]};\n });\n};\n\n/**\n * Returning an empty iterator.\n *\n * @return {Iterator}\n */\nIterator.empty = function () {\n var iterator = new Iterator(function () {\n return {done: true};\n });\n\n return iterator;\n};\n\n/**\n * Returning an iterator over the given indexed sequence.\n *\n * @param {string|Array} sequence - Target sequence.\n * @return {Iterator}\n */\nIterator.fromSequence = function (sequence) {\n var i = 0,\n l = sequence.length;\n\n return new Iterator(function () {\n if (i >= l) return {done: true};\n\n return {done: false, value: sequence[i++]};\n });\n};\n\n/**\n * Returning whether the given value is an iterator.\n *\n * @param {any} value - Value.\n * @return {boolean}\n */\nIterator.is = function (value) {\n if (value instanceof Iterator) return true;\n\n return (\n typeof value === 'object' &&\n value !== null &&\n typeof value.next === 'function'\n );\n};\n\n/**\n * Exporting.\n */\nmodule.exports = Iterator;\n","exports.ARRAY_BUFFER_SUPPORT = typeof ArrayBuffer !== 'undefined';\nexports.SYMBOL_SUPPORT = typeof Symbol !== 'undefined';\n","/**\n * Obliterator ForEach Function\n * =============================\n *\n * Helper function used to easily iterate over mixed values.\n */\nvar support = require('./support.js');\n\nvar ARRAY_BUFFER_SUPPORT = support.ARRAY_BUFFER_SUPPORT;\nvar SYMBOL_SUPPORT = support.SYMBOL_SUPPORT;\n\n/**\n * Function able to iterate over almost any iterable JS value.\n *\n * @param {any} iterable - Iterable value.\n * @param {function} callback - Callback function.\n */\nmodule.exports = function forEach(iterable, callback) {\n var iterator, k, i, l, s;\n\n if (!iterable) throw new Error('obliterator/forEach: invalid iterable.');\n\n if (typeof callback !== 'function')\n throw new Error('obliterator/forEach: expecting a callback.');\n\n // The target is an array or a string or function arguments\n if (\n Array.isArray(iterable) ||\n (ARRAY_BUFFER_SUPPORT && ArrayBuffer.isView(iterable)) ||\n typeof iterable === 'string' ||\n iterable.toString() === '[object Arguments]'\n ) {\n for (i = 0, l = iterable.length; i < l; i++) callback(iterable[i], i);\n return;\n }\n\n // The target has a #.forEach method\n if (typeof iterable.forEach === 'function') {\n iterable.forEach(callback);\n return;\n }\n\n // The target is iterable\n if (\n SYMBOL_SUPPORT &&\n Symbol.iterator in iterable &&\n typeof iterable.next !== 'function'\n ) {\n iterable = iterable[Symbol.iterator]();\n }\n\n // The target is an iterator\n if (typeof iterable.next === 'function') {\n iterator = iterable;\n i = 0;\n\n while (((s = iterator.next()), s.done !== true)) {\n callback(s.value, i);\n i++;\n }\n\n return;\n }\n\n // The target is a plain object\n for (k in iterable) {\n if (iterable.hasOwnProperty(k)) {\n callback(iterable[k], k);\n }\n }\n\n return;\n};\n","/**\n * Mnemonist Typed Array Helpers\n * ==============================\n *\n * Miscellaneous helpers related to typed arrays.\n */\n\n/**\n * When using an unsigned integer array to store pointers, one might want to\n * choose the optimal word size in regards to the actual numbers of pointers\n * to store.\n *\n * This helpers does just that.\n *\n * @param {number} size - Expected size of the array to map.\n * @return {TypedArray}\n */\nvar MAX_8BIT_INTEGER = Math.pow(2, 8) - 1,\n MAX_16BIT_INTEGER = Math.pow(2, 16) - 1,\n MAX_32BIT_INTEGER = Math.pow(2, 32) - 1;\n\nvar MAX_SIGNED_8BIT_INTEGER = Math.pow(2, 7) - 1,\n MAX_SIGNED_16BIT_INTEGER = Math.pow(2, 15) - 1,\n MAX_SIGNED_32BIT_INTEGER = Math.pow(2, 31) - 1;\n\nexports.getPointerArray = function(size) {\n var maxIndex = size - 1;\n\n if (maxIndex <= MAX_8BIT_INTEGER)\n return Uint8Array;\n\n if (maxIndex <= MAX_16BIT_INTEGER)\n return Uint16Array;\n\n if (maxIndex <= MAX_32BIT_INTEGER)\n return Uint32Array;\n\n throw new Error('mnemonist: Pointer Array of size > 4294967295 is not supported.');\n};\n\nexports.getSignedPointerArray = function(size) {\n var maxIndex = size - 1;\n\n if (maxIndex <= MAX_SIGNED_8BIT_INTEGER)\n return Int8Array;\n\n if (maxIndex <= MAX_SIGNED_16BIT_INTEGER)\n return Int16Array;\n\n if (maxIndex <= MAX_SIGNED_32BIT_INTEGER)\n return Int32Array;\n\n return Float64Array;\n};\n\n/**\n * Function returning the minimal type able to represent the given number.\n *\n * @param {number} value - Value to test.\n * @return {TypedArrayClass}\n */\nexports.getNumberType = function(value) {\n\n // <= 32 bits itnteger?\n if (value === (value | 0)) {\n\n // Negative\n if (Math.sign(value) === -1) {\n if (value <= 127 && value >= -128)\n return Int8Array;\n\n if (value <= 32767 && value >= -32768)\n return Int16Array;\n\n return Int32Array;\n }\n else {\n\n if (value <= 255)\n return Uint8Array;\n\n if (value <= 65535)\n return Uint16Array;\n\n return Uint32Array;\n }\n }\n\n // 53 bits integer & floats\n // NOTE: it's kinda hard to tell whether we could use 32bits or not...\n return Float64Array;\n};\n\n/**\n * Function returning the minimal type able to represent the given array\n * of JavaScript numbers.\n *\n * @param {array} array - Array to represent.\n * @param {function} getter - Optional getter.\n * @return {TypedArrayClass}\n */\nvar TYPE_PRIORITY = {\n Uint8Array: 1,\n Int8Array: 2,\n Uint16Array: 3,\n Int16Array: 4,\n Uint32Array: 5,\n Int32Array: 6,\n Float32Array: 7,\n Float64Array: 8\n};\n\n// TODO: make this a one-shot for one value\nexports.getMinimalRepresentation = function(array, getter) {\n var maxType = null,\n maxPriority = 0,\n p,\n t,\n v,\n i,\n l;\n\n for (i = 0, l = array.length; i < l; i++) {\n v = getter ? getter(array[i]) : array[i];\n t = exports.getNumberType(v);\n p = TYPE_PRIORITY[t.name];\n\n if (p > maxPriority) {\n maxPriority = p;\n maxType = t;\n }\n }\n\n return maxType;\n};\n\n/**\n * Function returning whether the given value is a typed array.\n *\n * @param {any} value - Value to test.\n * @return {boolean}\n */\nexports.isTypedArray = function(value) {\n return typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView(value);\n};\n\n/**\n * Function used to concat byte arrays.\n *\n * @param {...ByteArray}\n * @return {ByteArray}\n */\nexports.concat = function() {\n var length = 0,\n i,\n o,\n l;\n\n for (i = 0, l = arguments.length; i < l; i++)\n length += arguments[i].length;\n\n var array = new (arguments[0].constructor)(length);\n\n for (i = 0, o = 0; i < l; i++) {\n array.set(arguments[i], o);\n o += arguments[i].length;\n }\n\n return array;\n};\n\n/**\n * Function used to initialize a byte array of indices.\n *\n * @param {number} length - Length of target.\n * @return {ByteArray}\n */\nexports.indices = function(length) {\n var PointerArray = exports.getPointerArray(length);\n\n var array = new PointerArray(length);\n\n for (var i = 0; i < length; i++)\n array[i] = i;\n\n return array;\n};\n","/**\n * Mnemonist Iterable Function\n * ============================\n *\n * Harmonized iteration helpers over mixed iterable targets.\n */\nvar forEach = require('obliterator/foreach');\n\nvar typed = require('./typed-arrays.js');\n\n/**\n * Function used to determine whether the given object supports array-like\n * random access.\n *\n * @param {any} target - Target object.\n * @return {boolean}\n */\nfunction isArrayLike(target) {\n return Array.isArray(target) || typed.isTypedArray(target);\n}\n\n/**\n * Function used to guess the length of the structure over which we are going\n * to iterate.\n *\n * @param {any} target - Target object.\n * @return {number|undefined}\n */\nfunction guessLength(target) {\n if (typeof target.length === 'number')\n return target.length;\n\n if (typeof target.size === 'number')\n return target.size;\n\n return;\n}\n\n/**\n * Function used to convert an iterable to an array.\n *\n * @param {any} target - Iteration target.\n * @return {array}\n */\nfunction toArray(target) {\n var l = guessLength(target);\n\n var array = typeof l === 'number' ? new Array(l) : [];\n\n var i = 0;\n\n // TODO: we could optimize when given target is array like\n forEach(target, function(value) {\n array[i++] = value;\n });\n\n return array;\n}\n\n/**\n * Same as above but returns a supplementary indices array.\n *\n * @param {any} target - Iteration target.\n * @return {array}\n */\nfunction toArrayWithIndices(target) {\n var l = guessLength(target);\n\n var IndexArray = typeof l === 'number' ?\n typed.getPointerArray(l) :\n Array;\n\n var array = typeof l === 'number' ? new Array(l) : [];\n var indices = typeof l === 'number' ? new IndexArray(l) : [];\n\n var i = 0;\n\n // TODO: we could optimize when given target is array like\n forEach(target, function(value) {\n array[i] = value;\n indices[i] = i++;\n });\n\n return [array, indices];\n}\n\n/**\n * Exporting.\n */\nexports.isArrayLike = isArrayLike;\nexports.guessLength = guessLength;\nexports.toArray = toArray;\nexports.toArrayWithIndices = toArrayWithIndices;\n","/**\n * Mnemonist LRUCache\n * ===================\n *\n * JavaScript implementation of the LRU Cache data structure. To save up\n * memory and allocations this implementation represents its underlying\n * doubly-linked list as static arrays and pointers. Thus, memory is allocated\n * only once at instantiation and JS objects are never created to serve as\n * pointers. This also means this implementation does not trigger too many\n * garbage collections.\n *\n * Note that to save up memory, a LRU Cache can be implemented using a singly\n * linked list by storing predecessors' pointers as hashmap values.\n * However, this means more hashmap lookups and would probably slow the whole\n * thing down. What's more, pointers are not the things taking most space in\n * memory.\n */\nvar Iterator = require('obliterator/iterator'),\n forEach = require('obliterator/foreach'),\n typed = require('./utils/typed-arrays.js'),\n iterables = require('./utils/iterables.js');\n\n/**\n * LRUCache.\n *\n * @constructor\n * @param {function} Keys - Array class for storing keys.\n * @param {function} Values - Array class for storing values.\n * @param {number} capacity - Desired capacity.\n */\nfunction LRUCache(Keys, Values, capacity) {\n if (arguments.length < 2) {\n capacity = Keys;\n Keys = null;\n Values = null;\n }\n\n this.capacity = capacity;\n\n if (typeof this.capacity !== 'number' || this.capacity <= 0)\n throw new Error('mnemonist/lru-cache: capacity should be positive number.');\n else if (!isFinite(this.capacity) || Math.floor(this.capacity) !== this.capacity)\n throw new Error('mnemonist/lru-cache: capacity should be a finite positive integer.');\n\n var PointerArray = typed.getPointerArray(capacity);\n\n this.forward = new PointerArray(capacity);\n this.backward = new PointerArray(capacity);\n this.K = typeof Keys === 'function' ? new Keys(capacity) : new Array(capacity);\n this.V = typeof Values === 'function' ? new Values(capacity) : new Array(capacity);\n\n // Properties\n this.size = 0;\n this.head = 0;\n this.tail = 0;\n this.items = {};\n}\n\n/**\n * Method used to clear the structure.\n *\n * @return {undefined}\n */\nLRUCache.prototype.clear = function() {\n this.size = 0;\n this.head = 0;\n this.tail = 0;\n this.items = {};\n};\n\n/**\n * Method used to splay a value on top.\n *\n * @param {number} pointer - Pointer of the value to splay on top.\n * @return {LRUCache}\n */\nLRUCache.prototype.splayOnTop = function(pointer) {\n var oldHead = this.head;\n\n if (this.head === pointer)\n return this;\n\n var previous = this.backward[pointer],\n next = this.forward[pointer];\n\n if (this.tail === pointer) {\n this.tail = previous;\n }\n else {\n this.backward[next] = previous;\n }\n\n this.forward[previous] = next;\n\n this.backward[oldHead] = pointer;\n this.head = pointer;\n this.forward[pointer] = oldHead;\n\n return this;\n};\n\n/**\n * Method used to set the value for the given key in the cache.\n *\n * @param {any} key - Key.\n * @param {any} value - Value.\n * @return {undefined}\n */\nLRUCache.prototype.set = function(key, value) {\n\n var pointer = this.items[key];\n\n // The key already exists, we just need to update the value and splay on top\n if (typeof pointer !== 'undefined') {\n this.splayOnTop(pointer);\n this.V[pointer] = value;\n\n return;\n }\n\n // The cache is not yet full\n if (this.size < this.capacity) {\n pointer = this.size++;\n }\n\n // Cache is full, we need to drop the last value\n else {\n pointer = this.tail;\n this.tail = this.backward[pointer];\n delete this.items[this.K[pointer]];\n }\n\n // Storing key & value\n this.items[key] = pointer;\n this.K[pointer] = key;\n this.V[pointer] = value;\n\n // Moving the item at the front of the list\n this.forward[pointer] = this.head;\n this.backward[this.head] = pointer;\n this.head = pointer;\n};\n\n/**\n * Method used to set the value for the given key in the cache\n *\n * @param {any} key - Key.\n * @param {any} value - Value.\n * @return {{evicted: boolean, key: any, value: any}} An object containing the\n * key and value of an item that was overwritten or evicted in the set\n * operation, as well as a boolean indicating whether it was evicted due to\n * limited capacity. Return value is null if nothing was evicted or overwritten\n * during the set operation.\n */\nLRUCache.prototype.setpop = function(key, value) {\n var oldValue = null;\n var oldKey = null;\n\n var pointer = this.items[key];\n\n // The key already exists, we just need to update the value and splay on top\n if (typeof pointer !== 'undefined') {\n this.splayOnTop(pointer);\n oldValue = this.V[pointer];\n this.V[pointer] = value;\n return {evicted: false, key: key, value: oldValue};\n }\n\n // The cache is not yet full\n if (this.size < this.capacity) {\n pointer = this.size++;\n }\n\n // Cache is full, we need to drop the last value\n else {\n pointer = this.tail;\n this.tail = this.backward[pointer];\n oldValue = this.V[pointer];\n oldKey = this.K[pointer];\n delete this.items[oldKey];\n }\n\n // Storing key & value\n this.items[key] = pointer;\n this.K[pointer] = key;\n this.V[pointer] = value;\n\n // Moving the item at the front of the list\n this.forward[pointer] = this.head;\n this.backward[this.head] = pointer;\n this.head = pointer;\n\n // Return object if eviction took place, otherwise return null\n if (oldKey) {\n return {evicted: true, key: oldKey, value: oldValue};\n }\n else {\n return null;\n }\n};\n\n/**\n * Method used to check whether the key exists in the cache.\n *\n * @param {any} key - Key.\n * @return {boolean}\n */\nLRUCache.prototype.has = function(key) {\n return key in this.items;\n};\n\n/**\n * Method used to get the value attached to the given key. Will move the\n * related key to the front of the underlying linked list.\n *\n * @param {any} key - Key.\n * @return {any}\n */\nLRUCache.prototype.get = function(key) {\n var pointer = this.items[key];\n\n if (typeof pointer === 'undefined')\n return;\n\n this.splayOnTop(pointer);\n\n return this.V[pointer];\n};\n\n/**\n * Method used to get the value attached to the given key. Does not modify\n * the ordering of the underlying linked list.\n *\n * @param {any} key - Key.\n * @return {any}\n */\nLRUCache.prototype.peek = function(key) {\n var pointer = this.items[key];\n\n if (typeof pointer === 'undefined')\n return;\n\n return this.V[pointer];\n};\n\n/**\n * Method used to iterate over the cache's entries using a callback.\n *\n * @param {function} callback - Function to call for each item.\n * @param {object} scope - Optional scope.\n * @return {undefined}\n */\nLRUCache.prototype.forEach = function(callback, scope) {\n scope = arguments.length > 1 ? scope : this;\n\n var i = 0,\n l = this.size;\n\n var pointer = this.head,\n keys = this.K,\n values = this.V,\n forward = this.forward;\n\n while (i < l) {\n\n callback.call(scope, values[pointer], keys[pointer], this);\n pointer = forward[pointer];\n\n i++;\n }\n};\n\n/**\n * Method used to create an iterator over the cache's keys from most\n * recently used to least recently used.\n *\n * @return {Iterator}\n */\nLRUCache.prototype.keys = function() {\n var i = 0,\n l = this.size;\n\n var pointer = this.head,\n keys = this.K,\n forward = this.forward;\n\n return new Iterator(function() {\n if (i >= l)\n return {done: true};\n\n var key = keys[pointer];\n\n i++;\n\n if (i < l)\n pointer = forward[pointer];\n\n return {\n done: false,\n value: key\n };\n });\n};\n\n/**\n * Method used to create an iterator over the cache's values from most\n * recently used to least recently used.\n *\n * @return {Iterator}\n */\nLRUCache.prototype.values = function() {\n var i = 0,\n l = this.size;\n\n var pointer = this.head,\n values = this.V,\n forward = this.forward;\n\n return new Iterator(function() {\n if (i >= l)\n return {done: true};\n\n var value = values[pointer];\n\n i++;\n\n if (i < l)\n pointer = forward[pointer];\n\n return {\n done: false,\n value: value\n };\n });\n};\n\n/**\n * Method used to create an iterator over the cache's entries from most\n * recently used to least recently used.\n *\n * @return {Iterator}\n */\nLRUCache.prototype.entries = function() {\n var i = 0,\n l = this.size;\n\n var pointer = this.head,\n keys = this.K,\n values = this.V,\n forward = this.forward;\n\n return new Iterator(function() {\n if (i >= l)\n return {done: true};\n\n var key = keys[pointer],\n value = values[pointer];\n\n i++;\n\n if (i < l)\n pointer = forward[pointer];\n\n return {\n done: false,\n value: [key, value]\n };\n });\n};\n\n/**\n * Attaching the #.entries method to Symbol.iterator if possible.\n */\nif (typeof Symbol !== 'undefined')\n LRUCache.prototype[Symbol.iterator] = LRUCache.prototype.entries;\n\n/**\n * Convenience known methods.\n */\nLRUCache.prototype.inspect = function() {\n var proxy = new Map();\n\n var iterator = this.entries(),\n step;\n\n while ((step = iterator.next(), !step.done))\n proxy.set(step.value[0], step.value[1]);\n\n // Trick so that node displays the name of the constructor\n Object.defineProperty(proxy, 'constructor', {\n value: LRUCache,\n enumerable: false\n });\n\n return proxy;\n};\n\nif (typeof Symbol !== 'undefined')\n LRUCache.prototype[Symbol.for('nodejs.util.inspect.custom')] = LRUCache.prototype.inspect;\n\n/**\n * Static @.from function taking an arbitrary iterable & converting it into\n * a structure.\n *\n * @param {Iterable} iterable - Target iterable.\n * @param {function} Keys - Array class for storing keys.\n * @param {function} Values - Array class for storing values.\n * @param {number} capacity - Cache's capacity.\n * @return {LRUCache}\n */\nLRUCache.from = function(iterable, Keys, Values, capacity) {\n if (arguments.length < 2) {\n capacity = iterables.guessLength(iterable);\n\n if (typeof capacity !== 'number')\n throw new Error('mnemonist/lru-cache.from: could not guess iterable length. Please provide desired capacity as last argument.');\n }\n else if (arguments.length === 2) {\n capacity = Keys;\n Keys = null;\n Values = null;\n }\n\n var cache = new LRUCache(Keys, Values, capacity);\n\n forEach(iterable, function(value, key) {\n cache.set(key, value);\n });\n\n return cache;\n};\n\n/**\n * Exporting.\n */\nmodule.exports = LRUCache;\n","/**\n * Mnemonist LRUCacheWithDelete\n * =============================\n *\n * An extension of LRUCache with delete functionality.\n */\n\nvar LRUCache = require('./lru-cache.js'),\n forEach = require('obliterator/foreach'),\n typed = require('./utils/typed-arrays.js'),\n iterables = require('./utils/iterables.js');\n\n// The only complication with deleting items is that the LRU's\n// performance depends on having a fixed-size list of pointers; the\n// doubly-linked-list is happy to expand and contract.\n//\n// On delete, we record the position of the former item's pointer in a\n// list of \"holes\" in the pointer array. On insert, if there is a hole\n// the new pointer slots in to fill the hole; otherwise, it is\n// appended as usual. (Note: we are only talking here about the\n// internal pointer list. setting or getting an item promotes it\n// to the top of the LRU ranking no matter what came before)\n\nfunction LRUCacheWithDelete(Keys, Values, capacity) {\n if (arguments.length < 2) {\n LRUCache.call(this, Keys);\n }\n else {\n LRUCache.call(this, Keys, Values, capacity);\n }\n var PointerArray = typed.getPointerArray(this.capacity);\n this.deleted = new PointerArray(this.capacity);\n this.deletedSize = 0;\n}\n\nfor (var k in LRUCache.prototype)\n LRUCacheWithDelete.prototype[k] = LRUCache.prototype[k];\nif (typeof Symbol !== 'undefined')\n LRUCacheWithDelete.prototype[Symbol.iterator] = LRUCache.prototype[Symbol.iterator];\n\n/**\n * Method used to clear the structure.\n *\n * @return {undefined}\n */\nLRUCacheWithDelete.prototype.clear = function() {\n LRUCache.prototype.clear.call(this);\n this.deletedSize = 0;\n};\n\n/**\n * Method used to set the value for the given key in the cache.\n *\n * @param {any} key - Key.\n * @param {any} value - Value.\n * @return {undefined}\n */\nLRUCacheWithDelete.prototype.set = function(key, value) {\n\n var pointer = this.items[key];\n\n // The key already exists, we just need to update the value and splay on top\n if (typeof pointer !== 'undefined') {\n this.splayOnTop(pointer);\n this.V[pointer] = value;\n\n return;\n }\n\n // The cache is not yet full\n if (this.size < this.capacity) {\n if (this.deletedSize > 0) {\n // If there is a \"hole\" in the pointer list, reuse it\n pointer = this.deleted[--this.deletedSize];\n }\n else {\n // otherwise append to the pointer list\n pointer = this.size;\n }\n this.size++;\n }\n\n // Cache is full, we need to drop the last value\n else {\n pointer = this.tail;\n this.tail = this.backward[pointer];\n delete this.items[this.K[pointer]];\n }\n\n // Storing key & value\n this.items[key] = pointer;\n this.K[pointer] = key;\n this.V[pointer] = value;\n\n // Moving the item at the front of the list\n this.forward[pointer] = this.head;\n this.backward[this.head] = pointer;\n this.head = pointer;\n};\n\n/**\n * Method used to set the value for the given key in the cache\n *\n * @param {any} key - Key.\n * @param {any} value - Value.\n * @return {{evicted: boolean, key: any, value: any}} An object containing the\n * key and value of an item that was overwritten or evicted in the set\n * operation, as well as a boolean indicating whether it was evicted due to\n * limited capacity. Return value is null if nothing was evicted or overwritten\n * during the set operation.\n */\nLRUCacheWithDelete.prototype.setpop = function(key, value) {\n var oldValue = null;\n var oldKey = null;\n\n var pointer = this.items[key];\n\n // The key already exists, we just need to update the value and splay on top\n if (typeof pointer !== 'undefined') {\n this.splayOnTop(pointer);\n oldValue = this.V[pointer];\n this.V[pointer] = value;\n return {evicted: false, key: key, value: oldValue};\n }\n\n // The cache is not yet full\n if (this.size < this.capacity) {\n if (this.deletedSize > 0) {\n // If there is a \"hole\" in the pointer list, reuse it\n pointer = this.deleted[--this.deletedSize];\n }\n else {\n // otherwise append to the pointer list\n pointer = this.size;\n }\n this.size++;\n }\n\n // Cache is full, we need to drop the last value\n else {\n pointer = this.tail;\n this.tail = this.backward[pointer];\n oldValue = this.V[pointer];\n oldKey = this.K[pointer];\n delete this.items[oldKey];\n }\n\n // Storing key & value\n this.items[key] = pointer;\n this.K[pointer] = key;\n this.V[pointer] = value;\n\n // Moving the item at the front of the list\n this.forward[pointer] = this.head;\n this.backward[this.head] = pointer;\n this.head = pointer;\n\n // Return object if eviction took place, otherwise return null\n if (oldKey) {\n return {evicted: true, key: oldKey, value: oldValue};\n }\n else {\n return null;\n }\n};\n\n/**\n * Method used to delete the entry for the given key in the cache.\n *\n * @param {any} key - Key.\n * @return {boolean} - true if the item was present\n */\nLRUCacheWithDelete.prototype.delete = function(key) {\n\n var pointer = this.items[key];\n\n if (typeof pointer === 'undefined') {\n return false;\n }\n\n delete this.items[key];\n\n if (this.size === 1) {\n this.size = 0;\n this.head = 0;\n this.tail = 0;\n this.deletedSize = 0;\n return true;\n }\n\n var previous = this.backward[pointer],\n next = this.forward[pointer];\n\n if (this.head === pointer) {\n this.head = next;\n }\n if (this.tail === pointer) {\n this.tail = previous;\n }\n\n this.forward[previous] = next;\n this.backward[next] = previous;\n\n this.size--;\n this.deleted[this.deletedSize++] = pointer;\n\n return true;\n};\n\n/**\n * Method used to remove and return the value for the given key in the cache.\n *\n * @param {any} key - Key.\n * @param {any} [missing=undefined] - Value to return if item is absent\n * @return {any} The value, if present; the missing indicator if absent\n */\nLRUCacheWithDelete.prototype.remove = function(key, missing = undefined) {\n\n var pointer = this.items[key];\n\n if (typeof pointer === 'undefined') {\n return missing;\n }\n\n var dead = this.V[pointer];\n delete this.items[key];\n\n if (this.size === 1) {\n this.size = 0;\n this.head = 0;\n this.tail = 0;\n this.deletedSize = 0;\n return dead;\n }\n\n var previous = this.backward[pointer],\n next = this.forward[pointer];\n\n if (this.head === pointer) {\n this.head = next;\n }\n if (this.tail === pointer) {\n this.tail = previous;\n }\n\n this.forward[previous] = next;\n this.backward[next] = previous;\n\n this.size--;\n this.deleted[this.deletedSize++] = pointer;\n\n return dead;\n};\n\n/**\n * Static @.from function taking an arbitrary iterable & converting it into\n * a structure.\n *\n * @param {Iterable} iterable - Target iterable.\n * @param {function} Keys - Array class for storing keys.\n * @param {function} Values - Array class for storing values.\n * @param {number} capacity - Cache's capacity.\n * @return {LRUCacheWithDelete}\n */\nLRUCacheWithDelete.from = function(iterable, Keys, Values, capacity) {\n if (arguments.length < 2) {\n capacity = iterables.guessLength(iterable);\n\n if (typeof capacity !== 'number')\n throw new Error('mnemonist/lru-cache.from: could not guess iterable length. Please provide desired capacity as last argument.');\n }\n else if (arguments.length === 2) {\n capacity = Keys;\n Keys = null;\n Values = null;\n }\n\n var cache = new LRUCacheWithDelete(Keys, Values, capacity);\n\n forEach(iterable, function(value, key) {\n cache.set(key, value);\n });\n\n return cache;\n};\n\nmodule.exports = LRUCacheWithDelete;\n","import { jsxs, Fragment, jsx } from \"react/jsx-runtime\";\nimport { c } from \"react-compiler-runtime\";\nimport { createCompatibilityActors, getQueryCacheKey } from \"./PresentationToolGrantsCheck.js\";\nimport { useQueryParams, useRevalidate } from \"./hooks.js\";\nimport { applySourceDocuments, getPublishedId } from \"@sanity/client/csm\";\nimport { createConnectionMachine } from \"@sanity/comlink\";\nimport { applyPatch } from \"mendoza\";\nimport LRUCache from \"mnemonist/lru-cache-with-delete\";\nimport { useState, useEffect, useMemo, memo } from \"react\";\nimport { useProjectId, useDataset, useClient } from \"sanity\";\nimport { MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL, LIVE_QUERY_CACHE_SIZE, LIVE_QUERY_CACHE_BATCH_SIZE } from \"./index.js\";\nfunction LoaderQueries(props) {\n const {\n liveDocument,\n controller,\n perspective: activePerspective,\n documentsOnPage,\n onLoadersConnection,\n onDocumentsOnPage\n } = props, [comlink, setComlink] = useState(), [liveQueries, setLiveQueries] = useState({}), projectId = useProjectId(), dataset = useDataset();\n useEffect(() => {\n const interval = setInterval(() => setLiveQueries((liveQueries_0) => {\n if (Object.keys(liveQueries_0).length < 1)\n return liveQueries_0;\n const now = Date.now();\n if (!Object.values(liveQueries_0).some((liveQuery) => liveQuery.heartbeat !== !1 && now > liveQuery.receivedAt + liveQuery.heartbeat))\n return liveQueries_0;\n const next = {};\n for (const [key, value] of Object.entries(liveQueries_0))\n value.heartbeat !== !1 && now > value.receivedAt + value.heartbeat || (next[key] = value);\n return next;\n }), MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL);\n return () => clearInterval(interval);\n }, []), useEffect(() => {\n if (controller) {\n const comlink_0 = controller.createChannel({\n name: \"presentation\",\n connectTo: \"loaders\",\n heartbeat: !0\n }, createConnectionMachine().provide({\n actors: createCompatibilityActors()\n }));\n return setComlink(comlink_0), comlink_0.onStatus(onLoadersConnection), comlink_0.on(\"loader/documents\", (data) => {\n data.projectId === projectId && data.dataset === dataset && onDocumentsOnPage(\n \"loaders\",\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n data.perspective,\n data.documents\n );\n }), comlink_0.on(\"loader/query-listen\", (data_0) => {\n if (data_0.projectId === projectId && data_0.dataset === dataset) {\n if (typeof data_0.heartbeat == \"number\" && data_0.heartbeat < MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL)\n throw new Error(`Loader query listen heartbeat interval must be at least ${MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL}ms`);\n setLiveQueries((prev) => ({\n ...prev,\n [getQueryCacheKey(data_0.query, data_0.params)]: {\n perspective: data_0.perspective,\n query: data_0.query,\n params: data_0.params,\n receivedAt: Date.now(),\n heartbeat: data_0.heartbeat ?? !1\n }\n }));\n }\n }), comlink_0.start();\n }\n }, [controller, dataset, onDocumentsOnPage, onLoadersConnection, projectId]);\n const [cache] = useState(() => new LRUCache(LIVE_QUERY_CACHE_SIZE)), studioClient = useClient({\n apiVersion: \"vX\"\n }), clientConfig = useMemo(() => studioClient.config(), [studioClient]), client = useMemo(() => studioClient.withConfig({\n resultSourceMap: \"withKeyArraySelector\"\n }), [studioClient]);\n useEffect(() => {\n if (comlink) {\n const {\n projectId: projectId_0,\n dataset: dataset_0\n } = clientConfig;\n comlink.post(\"loader/perspective\", {\n projectId: projectId_0,\n dataset: dataset_0,\n perspective: activePerspective\n });\n }\n }, [comlink, clientConfig, activePerspective]);\n const turboIds = useMemo(() => {\n const documentsActuallyInUse = documentsOnPage.map(({\n _id\n }) => _id), ids = [...new Set(documentsActuallyInUse)], max = cache.capacity;\n return ids.length >= max && (ids.length = max), ids;\n }, [cache.capacity, documentsOnPage]), [documentsCacheLastUpdated, setDocumentsCacheLastUpdated] = useState(0);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(Turbo, { cache, client, turboIds, setDocumentsCacheLastUpdated }),\n Object.entries(liveQueries).map(([key_0, {\n query,\n params,\n perspective\n }]) => /* @__PURE__ */ jsx(QuerySubscription, { cache, projectId: clientConfig.projectId, dataset: clientConfig.dataset, perspective, query, params, comlink, client, refreshInterval: activePerspective ? 2e3 : 0, liveDocument, documentsCacheLastUpdated }, `${key_0}${perspective}`))\n ] });\n}\nconst Turbo = memo(function(props) {\n const $ = c(22), {\n cache,\n client,\n turboIds,\n setDocumentsCacheLastUpdated\n } = props;\n let t0;\n $[0] === Symbol.for(\"react.memo_cache_sentinel\") ? (t0 = [], $[0] = t0) : t0 = $[0];\n const [batch, setBatch] = useState(t0);\n let t1, t2;\n $[1] !== batch || $[2] !== cache || $[3] !== turboIds ? (t1 = () => {\n const batchSet = new Set(batch.flat()), nextBatch = /* @__PURE__ */ new Set();\n for (const turboId of turboIds)\n !batchSet.has(turboId) && !cache.has(turboId) && nextBatch.add(turboId);\n const nextBatchSlice = [...nextBatch].slice(0, LIVE_QUERY_CACHE_BATCH_SIZE);\n nextBatchSlice.length !== 0 && setBatch((prevBatch) => [...prevBatch.slice(-LIVE_QUERY_CACHE_BATCH_SIZE), nextBatchSlice]);\n }, t2 = [batch, cache, turboIds], $[1] = batch, $[2] = cache, $[3] = turboIds, $[4] = t1, $[5] = t2) : (t1 = $[4], t2 = $[5]), useEffect(t1, t2);\n let t3, t4;\n $[6] !== cache || $[7] !== client || $[8] !== setDocumentsCacheLastUpdated ? (t3 = () => {\n const subscription = client.listen(\"*\", {}, {\n events: [\"mutation\"],\n effectFormat: \"mendoza\",\n includePreviousRevision: !1,\n includeResult: !1,\n tag: \"presentation-loader\"\n }).subscribe((update) => {\n if (update.type === \"mutation\" && update.transition === \"disappear\" && cache.delete(update.documentId) && setDocumentsCacheLastUpdated(Date.now()), update.type !== \"mutation\" || !update.effects?.apply?.length)\n return;\n const cachedDocument = cache.peek(update.documentId);\n if (cachedDocument) {\n const patchDoc = {\n ...cachedDocument\n };\n delete patchDoc._rev;\n const patchedDocument = applyPatch(patchDoc, update.effects.apply);\n cache.set(update.documentId, patchedDocument), setDocumentsCacheLastUpdated(Date.now());\n }\n });\n return () => subscription.unsubscribe();\n }, t4 = [cache, client, setDocumentsCacheLastUpdated], $[6] = cache, $[7] = client, $[8] = setDocumentsCacheLastUpdated, $[9] = t3, $[10] = t4) : (t3 = $[9], t4 = $[10]), useEffect(t3, t4);\n let t5;\n if ($[11] !== batch || $[12] !== cache || $[13] !== client || $[14] !== setDocumentsCacheLastUpdated) {\n let t62;\n $[16] !== cache || $[17] !== client || $[18] !== setDocumentsCacheLastUpdated ? (t62 = (ids) => /* @__PURE__ */ jsx(GetDocuments, { cache, client, ids, setDocumentsCacheLastUpdated }, JSON.stringify(ids)), $[16] = cache, $[17] = client, $[18] = setDocumentsCacheLastUpdated, $[19] = t62) : t62 = $[19], t5 = batch.map(t62), $[11] = batch, $[12] = cache, $[13] = client, $[14] = setDocumentsCacheLastUpdated, $[15] = t5;\n } else\n t5 = $[15];\n let t6;\n return $[20] !== t5 ? (t6 = /* @__PURE__ */ jsx(Fragment, { children: t5 }), $[20] = t5, $[21] = t6) : t6 = $[21], t6;\n}), GetDocuments = memo(function(props) {\n const $ = c(6), {\n client,\n cache,\n ids,\n setDocumentsCacheLastUpdated\n } = props;\n let t0, t1;\n return $[0] !== cache || $[1] !== client || $[2] !== ids || $[3] !== setDocumentsCacheLastUpdated ? (t0 = () => {\n const missingIds = ids.filter((id) => !cache.has(id));\n missingIds.length !== 0 && client.getDocuments(missingIds).then((documents) => {\n for (const doc of documents)\n doc && doc?._id && (cache.set(doc._id, doc), setDocumentsCacheLastUpdated(Date.now()));\n }, console.error);\n }, t1 = [cache, client, ids, setDocumentsCacheLastUpdated], $[0] = cache, $[1] = client, $[2] = ids, $[3] = setDocumentsCacheLastUpdated, $[4] = t0, $[5] = t1) : (t0 = $[4], t1 = $[5]), useEffect(t0, t1), null;\n});\nGetDocuments.displayName = \"GetDocuments\";\nfunction QuerySubscription(props) {\n const $ = c(20), {\n cache,\n projectId,\n dataset,\n perspective,\n query,\n client,\n refreshInterval,\n liveDocument,\n comlink,\n documentsCacheLastUpdated\n } = props, params = useQueryParams(props.params);\n let t0;\n $[0] !== cache || $[1] !== client || $[2] !== documentsCacheLastUpdated || $[3] !== liveDocument || $[4] !== params || $[5] !== perspective || $[6] !== query || $[7] !== refreshInterval ? (t0 = {\n cache,\n client,\n liveDocument,\n params,\n perspective,\n query,\n refreshInterval,\n documentsCacheLastUpdated\n }, $[0] = cache, $[1] = client, $[2] = documentsCacheLastUpdated, $[3] = liveDocument, $[4] = params, $[5] = perspective, $[6] = query, $[7] = refreshInterval, $[8] = t0) : t0 = $[8];\n const data = useQuerySubscription(t0), result = data?.result, resultSourceMap = data?.resultSourceMap, tags = data?.tags;\n let t1, t2;\n return $[9] !== comlink || $[10] !== dataset || $[11] !== params || $[12] !== perspective || $[13] !== projectId || $[14] !== query || $[15] !== result || $[16] !== resultSourceMap || $[17] !== tags ? (t1 = () => {\n resultSourceMap && comlink?.post(\"loader/query-change\", {\n projectId,\n dataset,\n perspective,\n query,\n params,\n result,\n resultSourceMap,\n tags\n });\n }, t2 = [comlink, dataset, params, perspective, projectId, query, result, resultSourceMap, tags], $[9] = comlink, $[10] = dataset, $[11] = params, $[12] = perspective, $[13] = projectId, $[14] = query, $[15] = result, $[16] = resultSourceMap, $[17] = tags, $[18] = t1, $[19] = t2) : (t1 = $[18], t2 = $[19]), useEffect(t1, t2), null;\n}\nfunction useQuerySubscription(props) {\n const {\n cache,\n liveDocument,\n client,\n refreshInterval,\n query,\n params,\n perspective,\n documentsCacheLastUpdated\n } = props, [snapshot, setSnapshot] = useState(null), {\n projectId: projectId_0,\n dataset: dataset_0\n } = useMemo(() => {\n const {\n projectId,\n dataset\n } = client.config();\n return {\n projectId,\n dataset\n };\n }, [client]), [error, setError] = useState(null);\n if (error) throw error;\n const [revalidate, startRefresh] = useRevalidate({\n refreshInterval\n }), shouldRefetch = revalidate === \"refresh\" || revalidate === \"inflight\";\n return useEffect(() => {\n if (!shouldRefetch)\n return;\n let fulfilled = !1, fetching = !1;\n const controller = new AbortController();\n async function effect() {\n const {\n signal\n } = controller;\n fetching = !0;\n const {\n result,\n resultSourceMap,\n syncTags\n } = await client.fetch(query, params, {\n tag: \"presentation-loader\",\n signal,\n perspective,\n filterResponse: !1\n });\n fetching = !1, signal.aborted || (setSnapshot({\n result,\n resultSourceMap,\n tags: syncTags\n }), fulfilled = !0);\n }\n const onFinally = startRefresh();\n return effect().catch((error_0) => {\n fetching = !1, error_0.name !== \"AbortError\" && setError(error_0);\n }).finally(onFinally), () => {\n !fulfilled && !fetching && controller.abort();\n };\n }, [client, dataset_0, liveDocument, params, perspective, projectId_0, query, shouldRefetch, startRefresh]), useMemo(() => documentsCacheLastUpdated && snapshot?.resultSourceMap ? {\n result: turboChargeResultIfSourceMap(cache, liveDocument, snapshot.result, perspective, snapshot.resultSourceMap),\n resultSourceMap: snapshot.resultSourceMap\n } : snapshot, [cache, documentsCacheLastUpdated, liveDocument, perspective, snapshot]);\n}\nlet warnedAboutCrossDatasetReference = !1;\nfunction turboChargeResultIfSourceMap(cache, liveDocument, result, perspective, resultSourceMap) {\n if (perspective === \"raw\")\n throw new Error(\"turboChargeResultIfSourceMap does not support raw perspective\");\n return applySourceDocuments(\n result,\n resultSourceMap,\n (sourceDocument) => {\n if (sourceDocument._projectId) {\n warnedAboutCrossDatasetReference || (console.warn(\"Cross dataset references are not supported yet, ignoring source document\", sourceDocument), warnedAboutCrossDatasetReference = !0);\n return;\n }\n return liveDocument?._id && getPublishedId(liveDocument._id) === getPublishedId(sourceDocument._id) ? liveDocument : cache.get(sourceDocument._id);\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (changedValue, {\n previousValue\n }) => typeof changedValue == \"number\" && typeof previousValue == \"string\" ? `${changedValue}` : changedValue,\n // TODO: Update applySourceDocuments to support releases.\n Array.isArray(perspective) && perspective.some((part) => typeof part == \"string\" && part.startsWith(\"r\") && part !== \"raw\") ? \"previewDrafts\" : perspective\n );\n}\nexport {\n LoaderQueries as default,\n turboChargeResultIfSourceMap\n};\n//# sourceMappingURL=LoaderQueries.js.map\n"],"names":["Iterator","next","args","l","i","iterator","sequence","value","support","require$$0","ARRAY_BUFFER_SUPPORT","SYMBOL_SUPPORT","foreach","iterable","callback","k","s","MAX_8BIT_INTEGER","MAX_16BIT_INTEGER","MAX_32BIT_INTEGER","MAX_SIGNED_8BIT_INTEGER","MAX_SIGNED_16BIT_INTEGER","MAX_SIGNED_32BIT_INTEGER","exports","size","maxIndex","TYPE_PRIORITY","array","getter","maxType","maxPriority","p","t","v","length","o","PointerArray","forEach","typed","require$$1","isArrayLike","target","guessLength","toArray","toArrayWithIndices","IndexArray","indices","iterables","require$$2","require$$3","LRUCache","Keys","Values","capacity","pointer","oldHead","previous","key","oldValue","oldKey","scope","keys","values","forward","proxy","step","cache","lruCache","LRUCacheWithDelete","missing","dead","lruCacheWithDelete","LoaderQueries","props","liveDocument","controller","activePerspective","documentsOnPage","onLoadersConnection","onDocumentsOnPage","comlink","setComlink","useState","liveQueries","setLiveQueries","projectId","useProjectId","dataset","useDataset","useEffect","interval","liveQueries_0","now","liveQuery","MIN_LOADER_QUERY_LISTEN_HEARTBEAT_INTERVAL","comlink_0","createConnectionMachine","createCompatibilityActors","data","data_0","prev","getQueryCacheKey","LIVE_QUERY_CACHE_SIZE","studioClient","useClient","clientConfig","useMemo","client","projectId_0","dataset_0","turboIds","documentsActuallyInUse","_id","ids","max","documentsCacheLastUpdated","setDocumentsCacheLastUpdated","jsxs","Fragment","jsx","Turbo","key_0","query","params","perspective","QuerySubscription","memo","$","c","t0","batch","setBatch","t1","t2","batchSet","nextBatch","turboId","nextBatchSlice","LIVE_QUERY_CACHE_BATCH_SIZE","prevBatch","t3","t4","subscription","update","_b","_a","cachedDocument","patchDoc","patchedDocument","applyPatch","t5","t62","GetDocuments","t6","missingIds","id","documents","doc","refreshInterval","useQueryParams","useQuerySubscription","result","resultSourceMap","tags","snapshot","setSnapshot","error","setError","revalidate","startRefresh","useRevalidate","shouldRefetch","fulfilled","fetching","effect","signal","syncTags","onFinally","error_0","turboChargeResultIfSourceMap","warnedAboutCrossDatasetReference","applySourceDocuments","sourceDocument","getPublishedId","changedValue","previousValue","part"],"mappings":"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","x_google_ignoreList":[0,1,2,3,4,5,6,7]}