@makeswift/runtime 0.26.5 → 0.26.6

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 (349) hide show
  1. package/dist/cjs/api-handler/handlers/manifest.js +1 -1
  2. package/dist/cjs/client/index.js +3 -3
  3. package/dist/esm/api-handler/handlers/manifest.js +1 -1
  4. package/dist/esm/client/index.js +3 -3
  5. package/package.json +3 -3
  6. package/dist/cjs/api/client.js +0 -252
  7. package/dist/cjs/api/client.js.map +0 -1
  8. package/dist/cjs/api-handler/handlers/webhook/diff-projection.js +0 -62
  9. package/dist/cjs/api-handler/handlers/webhook/diff-projection.js.map +0 -1
  10. package/dist/cjs/builder/serialization.js +0 -78
  11. package/dist/cjs/builder/serialization.js.map +0 -1
  12. package/dist/cjs/controls/serialization/base/index.js +0 -78
  13. package/dist/cjs/controls/serialization/base/index.js.map +0 -1
  14. package/dist/cjs/controls/serialization/base/visitor.js +0 -59
  15. package/dist/cjs/controls/serialization/base/visitor.js.map +0 -1
  16. package/dist/cjs/controls/serialization/index.js +0 -55
  17. package/dist/cjs/controls/serialization/index.js.map +0 -1
  18. package/dist/cjs/controls/serialization/message-port/function-serialization.js +0 -79
  19. package/dist/cjs/controls/serialization/message-port/function-serialization.js.map +0 -1
  20. package/dist/cjs/controls/serialization/message-port/index.js +0 -25
  21. package/dist/cjs/controls/serialization/message-port/index.js.map +0 -1
  22. package/dist/cjs/controls/serialization/message-port/visitor.js +0 -48
  23. package/dist/cjs/controls/serialization/message-port/visitor.js.map +0 -1
  24. package/dist/cjs/next/fetch.js +0 -30
  25. package/dist/cjs/next/fetch.js.map +0 -1
  26. package/dist/cjs/next/runtime.js +0 -35
  27. package/dist/cjs/next/runtime.js.map +0 -1
  28. package/dist/cjs/next/testing/react-runtime.js +0 -29
  29. package/dist/cjs/next/testing/react-runtime.js.map +0 -1
  30. package/dist/cjs/prop-controllers/serialization.js +0 -355
  31. package/dist/cjs/prop-controllers/serialization.js.map +0 -1
  32. package/dist/cjs/runtimes/react/components/GoogleFontLink.js +0 -55
  33. package/dist/cjs/runtimes/react/components/GoogleFontLink.js.map +0 -1
  34. package/dist/cjs/runtimes/react/components/MakeswiftFonts.js +0 -33
  35. package/dist/cjs/runtimes/react/components/MakeswiftFonts.js.map +0 -1
  36. package/dist/cjs/runtimes/react/hooks/use-async-effect.js +0 -55
  37. package/dist/cjs/runtimes/react/hooks/use-async-effect.js.map +0 -1
  38. package/dist/cjs/runtimes/react/hooks/use-current-breakpoint.js +0 -39
  39. package/dist/cjs/runtimes/react/hooks/use-current-breakpoint.js.map +0 -1
  40. package/dist/cjs/runtimes/react/hooks/use-is-read-only.js +0 -33
  41. package/dist/cjs/runtimes/react/hooks/use-is-read-only.js.map +0 -1
  42. package/dist/cjs/runtimes/react/lib/resolved-style-to-css.js +0 -59
  43. package/dist/cjs/runtimes/react/lib/resolved-style-to-css.js.map +0 -1
  44. package/dist/cjs/runtimes/react/testing/react-runtime.js +0 -33
  45. package/dist/cjs/runtimes/react/testing/react-runtime.js.map +0 -1
  46. package/dist/cjs/runtimes/react/utils/google-fonts-url.js +0 -49
  47. package/dist/cjs/runtimes/react/utils/google-fonts-url.js.map +0 -1
  48. package/dist/cjs/state/actions/internal/index.js +0 -34
  49. package/dist/cjs/state/actions/internal/index.js.map +0 -1
  50. package/dist/cjs/state/actions/internal/read-only-actions.js +0 -195
  51. package/dist/cjs/state/actions/internal/read-only-actions.js.map +0 -1
  52. package/dist/cjs/state/actions/internal/read-write-actions.js +0 -76
  53. package/dist/cjs/state/actions/internal/read-write-actions.js.map +0 -1
  54. package/dist/cjs/state/builder-api/api.js +0 -17
  55. package/dist/cjs/state/builder-api/api.js.map +0 -1
  56. package/dist/cjs/state/builder-api/navigation-listener.js +0 -110
  57. package/dist/cjs/state/builder-api/navigation-listener.js.map +0 -1
  58. package/dist/cjs/state/middleware/makeswift-api-client-sync.js +0 -37
  59. package/dist/cjs/state/middleware/makeswift-api-client-sync.js.map +0 -1
  60. package/dist/cjs/state/middleware/read-only-element-tree.js +0 -52
  61. package/dist/cjs/state/middleware/read-only-element-tree.js.map +0 -1
  62. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js +0 -40
  63. package/dist/cjs/state/middleware/read-write/builder-api/element-size.js.map +0 -1
  64. package/dist/cjs/state/middleware/read-write/builder-api/index.js +0 -85
  65. package/dist/cjs/state/middleware/read-write/builder-api/index.js.map +0 -1
  66. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js +0 -281
  67. package/dist/cjs/state/middleware/read-write/builder-api/initialize-connection.js.map +0 -1
  68. package/dist/cjs/state/middleware/read-write/index.js +0 -40
  69. package/dist/cjs/state/middleware/read-write/index.js.map +0 -1
  70. package/dist/cjs/state/middleware/read-write/measure-box-models.js +0 -71
  71. package/dist/cjs/state/middleware/read-write/measure-box-models.js.map +0 -1
  72. package/dist/cjs/state/middleware/read-write/prop-controller-handles.js +0 -114
  73. package/dist/cjs/state/middleware/read-write/prop-controller-handles.js.map +0 -1
  74. package/dist/cjs/state/middleware/read-write/update-element-tree.js +0 -59
  75. package/dist/cjs/state/middleware/read-write/update-element-tree.js.map +0 -1
  76. package/dist/cjs/state/mixins/breakpoint-watch.js +0 -72
  77. package/dist/cjs/state/mixins/breakpoint-watch.js.map +0 -1
  78. package/dist/cjs/state/modules/is-read-only.js +0 -50
  79. package/dist/cjs/state/modules/is-read-only.js.map +0 -1
  80. package/dist/cjs/state/modules/locale.js +0 -50
  81. package/dist/cjs/state/modules/locale.js.map +0 -1
  82. package/dist/cjs/state/modules/read-write/box-models.js +0 -144
  83. package/dist/cjs/state/modules/read-write/box-models.js.map +0 -1
  84. package/dist/cjs/state/modules/read-write/element-imperative-handles.js +0 -61
  85. package/dist/cjs/state/modules/read-write/element-imperative-handles.js.map +0 -1
  86. package/dist/cjs/state/modules/read-write/pointer.js +0 -48
  87. package/dist/cjs/state/modules/read-write/pointer.js.map +0 -1
  88. package/dist/cjs/state/modules/read-write/read-write-documents.js +0 -98
  89. package/dist/cjs/state/modules/read-write/read-write-documents.js.map +0 -1
  90. package/dist/cjs/state/modules/site-version.js +0 -47
  91. package/dist/cjs/state/modules/site-version.js.map +0 -1
  92. package/dist/cjs/state/ops/copy-element-tree.js +0 -67
  93. package/dist/cjs/state/ops/copy-element-tree.js.map +0 -1
  94. package/dist/cjs/state/ops/merge-element.js +0 -73
  95. package/dist/cjs/state/ops/merge-element.js.map +0 -1
  96. package/dist/cjs/state/read-only-state.js +0 -231
  97. package/dist/cjs/state/read-only-state.js.map +0 -1
  98. package/dist/cjs/state/read-write-state.js +0 -128
  99. package/dist/cjs/state/read-write-state.js.map +0 -1
  100. package/dist/cjs/state/store.js +0 -219
  101. package/dist/cjs/state/store.js.map +0 -1
  102. package/dist/cjs/state/unified-state.js +0 -17
  103. package/dist/cjs/state/unified-state.js.map +0 -1
  104. package/dist/cjs/translations/index.js +0 -32
  105. package/dist/cjs/translations/index.js.map +0 -1
  106. package/dist/cjs/utils/deferred.js +0 -39
  107. package/dist/cjs/utils/deferred.js.map +0 -1
  108. package/dist/cjs/utils/ref-counted-map.js +0 -120
  109. package/dist/cjs/utils/ref-counted-map.js.map +0 -1
  110. package/dist/esm/api/client.js +0 -219
  111. package/dist/esm/api/client.js.map +0 -1
  112. package/dist/esm/api-handler/handlers/webhook/diff-projection.js +0 -38
  113. package/dist/esm/api-handler/handlers/webhook/diff-projection.js.map +0 -1
  114. package/dist/esm/builder/serialization.js +0 -59
  115. package/dist/esm/builder/serialization.js.map +0 -1
  116. package/dist/esm/controls/serialization/base/index.js +0 -78
  117. package/dist/esm/controls/serialization/base/index.js.map +0 -1
  118. package/dist/esm/controls/serialization/base/visitor.js +0 -39
  119. package/dist/esm/controls/serialization/base/visitor.js.map +0 -1
  120. package/dist/esm/controls/serialization/index.js +0 -30
  121. package/dist/esm/controls/serialization/index.js.map +0 -1
  122. package/dist/esm/controls/serialization/message-port/function-serialization.js +0 -52
  123. package/dist/esm/controls/serialization/message-port/function-serialization.js.map +0 -1
  124. package/dist/esm/controls/serialization/message-port/index.js +0 -3
  125. package/dist/esm/controls/serialization/message-port/index.js.map +0 -1
  126. package/dist/esm/controls/serialization/message-port/visitor.js +0 -24
  127. package/dist/esm/controls/serialization/message-port/visitor.js.map +0 -1
  128. package/dist/esm/next/fetch.js +0 -6
  129. package/dist/esm/next/fetch.js.map +0 -1
  130. package/dist/esm/next/runtime.js +0 -11
  131. package/dist/esm/next/runtime.js.map +0 -1
  132. package/dist/esm/next/testing/react-runtime.js +0 -5
  133. package/dist/esm/next/testing/react-runtime.js.map +0 -1
  134. package/dist/esm/prop-controllers/serialization.js +0 -338
  135. package/dist/esm/prop-controllers/serialization.js.map +0 -1
  136. package/dist/esm/runtimes/react/components/GoogleFontLink.js +0 -35
  137. package/dist/esm/runtimes/react/components/GoogleFontLink.js.map +0 -1
  138. package/dist/esm/runtimes/react/components/MakeswiftFonts.js +0 -9
  139. package/dist/esm/runtimes/react/components/MakeswiftFonts.js.map +0 -1
  140. package/dist/esm/runtimes/react/hooks/use-async-effect.js +0 -31
  141. package/dist/esm/runtimes/react/hooks/use-async-effect.js.map +0 -1
  142. package/dist/esm/runtimes/react/hooks/use-current-breakpoint.js +0 -15
  143. package/dist/esm/runtimes/react/hooks/use-current-breakpoint.js.map +0 -1
  144. package/dist/esm/runtimes/react/hooks/use-is-read-only.js +0 -9
  145. package/dist/esm/runtimes/react/hooks/use-is-read-only.js.map +0 -1
  146. package/dist/esm/runtimes/react/lib/resolved-style-to-css.js +0 -38
  147. package/dist/esm/runtimes/react/lib/resolved-style-to-css.js.map +0 -1
  148. package/dist/esm/runtimes/react/testing/react-runtime.js +0 -9
  149. package/dist/esm/runtimes/react/testing/react-runtime.js.map +0 -1
  150. package/dist/esm/runtimes/react/utils/google-fonts-url.js +0 -23
  151. package/dist/esm/runtimes/react/utils/google-fonts-url.js.map +0 -1
  152. package/dist/esm/state/actions/internal/index.js +0 -10
  153. package/dist/esm/state/actions/internal/index.js.map +0 -1
  154. package/dist/esm/state/actions/internal/read-only-actions.js +0 -153
  155. package/dist/esm/state/actions/internal/read-only-actions.js.map +0 -1
  156. package/dist/esm/state/actions/internal/read-write-actions.js +0 -46
  157. package/dist/esm/state/actions/internal/read-write-actions.js.map +0 -1
  158. package/dist/esm/state/builder-api/api.js +0 -1
  159. package/dist/esm/state/builder-api/api.js.map +0 -1
  160. package/dist/esm/state/builder-api/navigation-listener.js +0 -86
  161. package/dist/esm/state/builder-api/navigation-listener.js.map +0 -1
  162. package/dist/esm/state/middleware/makeswift-api-client-sync.js +0 -13
  163. package/dist/esm/state/middleware/makeswift-api-client-sync.js.map +0 -1
  164. package/dist/esm/state/middleware/read-only-element-tree.js +0 -28
  165. package/dist/esm/state/middleware/read-only-element-tree.js.map +0 -1
  166. package/dist/esm/state/middleware/read-write/builder-api/element-size.js +0 -16
  167. package/dist/esm/state/middleware/read-write/builder-api/element-size.js.map +0 -1
  168. package/dist/esm/state/middleware/read-write/builder-api/index.js +0 -61
  169. package/dist/esm/state/middleware/read-write/builder-api/index.js.map +0 -1
  170. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js +0 -254
  171. package/dist/esm/state/middleware/read-write/builder-api/initialize-connection.js.map +0 -1
  172. package/dist/esm/state/middleware/read-write/index.js +0 -16
  173. package/dist/esm/state/middleware/read-write/index.js.map +0 -1
  174. package/dist/esm/state/middleware/read-write/measure-box-models.js +0 -37
  175. package/dist/esm/state/middleware/read-write/measure-box-models.js.map +0 -1
  176. package/dist/esm/state/middleware/read-write/prop-controller-handles.js +0 -80
  177. package/dist/esm/state/middleware/read-write/prop-controller-handles.js.map +0 -1
  178. package/dist/esm/state/middleware/read-write/update-element-tree.js +0 -35
  179. package/dist/esm/state/middleware/read-write/update-element-tree.js.map +0 -1
  180. package/dist/esm/state/mixins/breakpoint-watch.js +0 -48
  181. package/dist/esm/state/mixins/breakpoint-watch.js.map +0 -1
  182. package/dist/esm/state/modules/is-read-only.js +0 -24
  183. package/dist/esm/state/modules/is-read-only.js.map +0 -1
  184. package/dist/esm/state/modules/locale.js +0 -24
  185. package/dist/esm/state/modules/locale.js.map +0 -1
  186. package/dist/esm/state/modules/read-write/box-models.js +0 -114
  187. package/dist/esm/state/modules/read-write/box-models.js.map +0 -1
  188. package/dist/esm/state/modules/read-write/element-imperative-handles.js +0 -36
  189. package/dist/esm/state/modules/read-write/element-imperative-handles.js.map +0 -1
  190. package/dist/esm/state/modules/read-write/pointer.js +0 -23
  191. package/dist/esm/state/modules/read-write/pointer.js.map +0 -1
  192. package/dist/esm/state/modules/read-write/read-write-documents.js +0 -60
  193. package/dist/esm/state/modules/read-write/read-write-documents.js.map +0 -1
  194. package/dist/esm/state/modules/site-version.js +0 -21
  195. package/dist/esm/state/modules/site-version.js.map +0 -1
  196. package/dist/esm/state/ops/copy-element-tree.js +0 -37
  197. package/dist/esm/state/ops/copy-element-tree.js.map +0 -1
  198. package/dist/esm/state/ops/merge-element.js +0 -39
  199. package/dist/esm/state/ops/merge-element.js.map +0 -1
  200. package/dist/esm/state/read-only-state.js +0 -176
  201. package/dist/esm/state/read-only-state.js.map +0 -1
  202. package/dist/esm/state/read-write-state.js +0 -82
  203. package/dist/esm/state/read-write-state.js.map +0 -1
  204. package/dist/esm/state/store.js +0 -188
  205. package/dist/esm/state/store.js.map +0 -1
  206. package/dist/esm/state/unified-state.js +0 -1
  207. package/dist/esm/state/unified-state.js.map +0 -1
  208. package/dist/esm/translations/index.js +0 -7
  209. package/dist/esm/translations/index.js.map +0 -1
  210. package/dist/esm/utils/deferred.js +0 -15
  211. package/dist/esm/utils/deferred.js.map +0 -1
  212. package/dist/esm/utils/ref-counted-map.js +0 -96
  213. package/dist/esm/utils/ref-counted-map.js.map +0 -1
  214. package/dist/types/api/client.d.ts +0 -81
  215. package/dist/types/api/client.d.ts.map +0 -1
  216. package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts +0 -201
  217. package/dist/types/api-handler/handlers/webhook/diff-projection.d.ts.map +0 -1
  218. package/dist/types/builder/serialization.d.ts +0 -23
  219. package/dist/types/builder/serialization.d.ts.map +0 -1
  220. package/dist/types/builder/serialization.test.d.ts +0 -2
  221. package/dist/types/builder/serialization.test.d.ts.map +0 -1
  222. package/dist/types/client/tests/client.get-component-snapshots.test.d.ts +0 -2
  223. package/dist/types/client/tests/client.get-component-snapshots.test.d.ts.map +0 -1
  224. package/dist/types/client/tests/client.get-fonts.test.d.ts +0 -2
  225. package/dist/types/client/tests/client.get-fonts.test.d.ts.map +0 -1
  226. package/dist/types/client/tests/client.introspect-many.test.d.ts +0 -2
  227. package/dist/types/client/tests/client.introspect-many.test.d.ts.map +0 -1
  228. package/dist/types/components/hooks/__tests__/useMediaQuery.test.d.ts +0 -3
  229. package/dist/types/components/hooks/__tests__/useMediaQuery.test.d.ts.map +0 -1
  230. package/dist/types/controls/serialization/base/index.d.ts +0 -10
  231. package/dist/types/controls/serialization/base/index.d.ts.map +0 -1
  232. package/dist/types/controls/serialization/base/visitor.d.ts +0 -7
  233. package/dist/types/controls/serialization/base/visitor.d.ts.map +0 -1
  234. package/dist/types/controls/serialization/index.d.ts +0 -10
  235. package/dist/types/controls/serialization/index.d.ts.map +0 -1
  236. package/dist/types/controls/serialization/message-port/function-serialization.d.ts +0 -16
  237. package/dist/types/controls/serialization/message-port/function-serialization.d.ts.map +0 -1
  238. package/dist/types/controls/serialization/message-port/function-serialization.test.d.ts +0 -2
  239. package/dist/types/controls/serialization/message-port/function-serialization.test.d.ts.map +0 -1
  240. package/dist/types/controls/serialization/message-port/index.d.ts +0 -3
  241. package/dist/types/controls/serialization/message-port/index.d.ts.map +0 -1
  242. package/dist/types/controls/serialization/message-port/visitor.d.ts +0 -7
  243. package/dist/types/controls/serialization/message-port/visitor.d.ts.map +0 -1
  244. package/dist/types/next/api-handler/config/pages-router.test.d.ts +0 -2
  245. package/dist/types/next/api-handler/config/pages-router.test.d.ts.map +0 -1
  246. package/dist/types/next/components/tests/controls/code-control.test.d.ts +0 -2
  247. package/dist/types/next/components/tests/controls/code-control.test.d.ts.map +0 -1
  248. package/dist/types/next/fetch.d.ts +0 -3
  249. package/dist/types/next/fetch.d.ts.map +0 -1
  250. package/dist/types/next/runtime.d.ts +0 -10
  251. package/dist/types/next/runtime.d.ts.map +0 -1
  252. package/dist/types/next/testing/react-runtime.d.ts +0 -2
  253. package/dist/types/next/testing/react-runtime.d.ts.map +0 -1
  254. package/dist/types/prop-controllers/serialization.d.ts +0 -228
  255. package/dist/types/prop-controllers/serialization.d.ts.map +0 -1
  256. package/dist/types/runtimes/react/components/GoogleFontLink.d.ts +0 -14
  257. package/dist/types/runtimes/react/components/GoogleFontLink.d.ts.map +0 -1
  258. package/dist/types/runtimes/react/components/MakeswiftFonts.d.ts +0 -7
  259. package/dist/types/runtimes/react/components/MakeswiftFonts.d.ts.map +0 -1
  260. package/dist/types/runtimes/react/hooks/__tests__/use-async-effect.test.d.ts +0 -2
  261. package/dist/types/runtimes/react/hooks/__tests__/use-async-effect.test.d.ts.map +0 -1
  262. package/dist/types/runtimes/react/hooks/use-async-effect.d.ts +0 -3
  263. package/dist/types/runtimes/react/hooks/use-async-effect.d.ts.map +0 -1
  264. package/dist/types/runtimes/react/hooks/use-current-breakpoint.d.ts +0 -3
  265. package/dist/types/runtimes/react/hooks/use-current-breakpoint.d.ts.map +0 -1
  266. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts +0 -2
  267. package/dist/types/runtimes/react/hooks/use-is-read-only.d.ts.map +0 -1
  268. package/dist/types/runtimes/react/lib/resolved-style-to-css.d.ts +0 -4
  269. package/dist/types/runtimes/react/lib/resolved-style-to-css.d.ts.map +0 -1
  270. package/dist/types/runtimes/react/testing/react-runtime.d.ts +0 -6
  271. package/dist/types/runtimes/react/testing/react-runtime.d.ts.map +0 -1
  272. package/dist/types/runtimes/react/utils/google-fonts-url.d.ts +0 -6
  273. package/dist/types/runtimes/react/utils/google-fonts-url.d.ts.map +0 -1
  274. package/dist/types/state/__tests__/fixtures/serialized-descriptors-from-builder.d.ts +0 -5
  275. package/dist/types/state/__tests__/fixtures/serialized-descriptors-from-builder.d.ts.map +0 -1
  276. package/dist/types/state/__tests__/fixtures/translatable-content-sample.d.ts +0 -3
  277. package/dist/types/state/__tests__/fixtures/translatable-content-sample.d.ts.map +0 -1
  278. package/dist/types/state/__tests__/get-translatable-content.test.d.ts +0 -2
  279. package/dist/types/state/__tests__/get-translatable-content.test.d.ts.map +0 -1
  280. package/dist/types/state/__tests__/merge-element.test.d.ts +0 -2
  281. package/dist/types/state/__tests__/merge-element.test.d.ts.map +0 -1
  282. package/dist/types/state/__tests__/store.read-write-state.test.d.ts +0 -2
  283. package/dist/types/state/__tests__/store.read-write-state.test.d.ts.map +0 -1
  284. package/dist/types/state/__tests__/test-store.d.ts +0 -31
  285. package/dist/types/state/__tests__/test-store.d.ts.map +0 -1
  286. package/dist/types/state/actions/internal/index.d.ts +0 -29
  287. package/dist/types/state/actions/internal/index.d.ts.map +0 -1
  288. package/dist/types/state/actions/internal/read-only-actions.d.ts +0 -171
  289. package/dist/types/state/actions/internal/read-only-actions.d.ts.map +0 -1
  290. package/dist/types/state/actions/internal/read-write-actions.d.ts +0 -53
  291. package/dist/types/state/actions/internal/read-write-actions.d.ts.map +0 -1
  292. package/dist/types/state/builder-api/api.d.ts +0 -9
  293. package/dist/types/state/builder-api/api.d.ts.map +0 -1
  294. package/dist/types/state/builder-api/navigation-listener.d.ts +0 -3
  295. package/dist/types/state/builder-api/navigation-listener.d.ts.map +0 -1
  296. package/dist/types/state/middleware/makeswift-api-client-sync.d.ts +0 -5
  297. package/dist/types/state/middleware/makeswift-api-client-sync.d.ts.map +0 -1
  298. package/dist/types/state/middleware/read-only-element-tree.d.ts +0 -4
  299. package/dist/types/state/middleware/read-only-element-tree.d.ts.map +0 -1
  300. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts +0 -12
  301. package/dist/types/state/middleware/read-write/builder-api/element-size.d.ts.map +0 -1
  302. package/dist/types/state/middleware/read-write/builder-api/index.d.ts +0 -5
  303. package/dist/types/state/middleware/read-write/builder-api/index.d.ts.map +0 -1
  304. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts +0 -6
  305. package/dist/types/state/middleware/read-write/builder-api/initialize-connection.d.ts.map +0 -1
  306. package/dist/types/state/middleware/read-write/index.d.ts +0 -5
  307. package/dist/types/state/middleware/read-write/index.d.ts.map +0 -1
  308. package/dist/types/state/middleware/read-write/measure-box-models.d.ts +0 -4
  309. package/dist/types/state/middleware/read-write/measure-box-models.d.ts.map +0 -1
  310. package/dist/types/state/middleware/read-write/prop-controller-handles.d.ts +0 -4
  311. package/dist/types/state/middleware/read-write/prop-controller-handles.d.ts.map +0 -1
  312. package/dist/types/state/middleware/read-write/update-element-tree.d.ts +0 -4
  313. package/dist/types/state/middleware/read-write/update-element-tree.d.ts.map +0 -1
  314. package/dist/types/state/mixins/breakpoint-watch.d.ts +0 -11
  315. package/dist/types/state/mixins/breakpoint-watch.d.ts.map +0 -1
  316. package/dist/types/state/modules/is-read-only.d.ts +0 -6
  317. package/dist/types/state/modules/is-read-only.d.ts.map +0 -1
  318. package/dist/types/state/modules/locale.d.ts +0 -6
  319. package/dist/types/state/modules/locale.d.ts.map +0 -1
  320. package/dist/types/state/modules/read-write/box-models.d.ts +0 -26
  321. package/dist/types/state/modules/read-write/box-models.d.ts.map +0 -1
  322. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts +0 -6
  323. package/dist/types/state/modules/read-write/element-imperative-handles.d.ts.map +0 -1
  324. package/dist/types/state/modules/read-write/pointer.d.ts +0 -11
  325. package/dist/types/state/modules/read-write/pointer.d.ts.map +0 -1
  326. package/dist/types/state/modules/read-write/read-write-documents.d.ts +0 -14
  327. package/dist/types/state/modules/read-write/read-write-documents.d.ts.map +0 -1
  328. package/dist/types/state/modules/site-version.d.ts +0 -7
  329. package/dist/types/state/modules/site-version.d.ts.map +0 -1
  330. package/dist/types/state/ops/copy-element-tree.d.ts +0 -37
  331. package/dist/types/state/ops/copy-element-tree.d.ts.map +0 -1
  332. package/dist/types/state/ops/merge-element.d.ts +0 -4
  333. package/dist/types/state/ops/merge-element.d.ts.map +0 -1
  334. package/dist/types/state/read-only-state.d.ts +0 -131
  335. package/dist/types/state/read-only-state.d.ts.map +0 -1
  336. package/dist/types/state/read-write-state.d.ts +0 -62
  337. package/dist/types/state/read-write-state.d.ts.map +0 -1
  338. package/dist/types/state/store.d.ts +0 -86
  339. package/dist/types/state/store.d.ts.map +0 -1
  340. package/dist/types/state/unified-state.d.ts +0 -9
  341. package/dist/types/state/unified-state.d.ts.map +0 -1
  342. package/dist/types/translations/index.d.ts +0 -6
  343. package/dist/types/translations/index.d.ts.map +0 -1
  344. package/dist/types/utils/__tests__/ref-counted-map.test.d.ts +0 -2
  345. package/dist/types/utils/__tests__/ref-counted-map.test.d.ts.map +0 -1
  346. package/dist/types/utils/deferred.d.ts +0 -7
  347. package/dist/types/utils/deferred.d.ts.map +0 -1
  348. package/dist/types/utils/ref-counted-map.d.ts +0 -32
  349. package/dist/types/utils/ref-counted-map.d.ts.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/state/ops/merge-element.ts"],"sourcesContent":["import { type MergeContext } from '@makeswift/controls'\n\nimport { merge } from '../../controls/control'\n\nimport * as Documents from '../modules/read-only-documents'\n\nimport { type State, getPropControllerDescriptors } from '../read-only-state'\n\nexport function mergeElement(\n state: State,\n baseElement: Documents.Element,\n overrideElement: Documents.Element,\n): Documents.Element {\n if (baseElement.type !== overrideElement.type || baseElement.key !== overrideElement.key) {\n throw new Error(`Can't merge elements of different types or keys`)\n }\n\n if (Documents.isElementReference(overrideElement)) return overrideElement\n\n if (Documents.isElementReference(baseElement)) return baseElement\n\n const elementDescriptors = getPropControllerDescriptors(state)\n const descriptors = elementDescriptors.get(baseElement.type)\n\n if (descriptors == null) {\n throw new Error(\n `Can't merge element of type \"${baseElement.type}\" because it has no descriptors`,\n )\n }\n\n const mergedProps = {} as Record<string, Documents.Data>\n\n for (const propName of Object.keys(descriptors)) {\n const descriptor = descriptors[propName]\n const context: MergeContext = {\n mergeElement(base, override) {\n return mergeElement(state, base, override)\n },\n }\n\n mergedProps[propName] = merge(\n descriptor,\n baseElement.props[propName],\n overrideElement.props[propName],\n context,\n )\n }\n\n return { ...baseElement, props: mergedProps }\n}\n"],"mappings":"AAEA,SAAS,aAAa;AAEtB,YAAY,eAAe;AAE3B,SAAqB,oCAAoC;AAElD,SAAS,aACd,OACA,aACA,iBACmB;AACnB,MAAI,YAAY,SAAS,gBAAgB,QAAQ,YAAY,QAAQ,gBAAgB,KAAK;AACxF,UAAM,IAAI,MAAM,iDAAiD;AAAA,EACnE;AAEA,MAAI,UAAU,mBAAmB,eAAe;AAAG,WAAO;AAE1D,MAAI,UAAU,mBAAmB,WAAW;AAAG,WAAO;AAEtD,QAAM,qBAAqB,6BAA6B,KAAK;AAC7D,QAAM,cAAc,mBAAmB,IAAI,YAAY,IAAI;AAE3D,MAAI,eAAe,MAAM;AACvB,UAAM,IAAI;AAAA,MACR,gCAAgC,YAAY,IAAI;AAAA,IAClD;AAAA,EACF;AAEA,QAAM,cAAc,CAAC;AAErB,aAAW,YAAY,OAAO,KAAK,WAAW,GAAG;AAC/C,UAAM,aAAa,YAAY,QAAQ;AACvC,UAAM,UAAwB;AAAA,MAC5B,aAAa,MAAM,UAAU;AAC3B,eAAO,aAAa,OAAO,MAAM,QAAQ;AAAA,MAC3C;AAAA,IACF;AAEA,gBAAY,QAAQ,IAAI;AAAA,MACtB;AAAA,MACA,YAAY,MAAM,QAAQ;AAAA,MAC1B,gBAAgB,MAAM,QAAQ;AAAA,MAC9B;AAAA,IACF;AAAA,EACF;AAEA,SAAO,EAAE,GAAG,aAAa,OAAO,YAAY;AAC9C;","names":[]}
@@ -1,176 +0,0 @@
1
- import { createSelector } from "reselect";
2
- import * as SiteVersion from "./modules/site-version";
3
- import * as Locale from "./modules/locale";
4
- import * as Documents from "./modules/read-only-documents";
5
- import * as ElementTrees from "./modules/element-trees";
6
- import * as ReactComponents from "./modules/react-components";
7
- import * as ComponentsMeta from "./modules/components-meta";
8
- import * as PropControllers from "./modules/prop-controllers";
9
- import * as PropControllerHandles from "./modules/prop-controller-handles";
10
- import * as IsInBuilder from "./modules/is-in-builder";
11
- import * as IsReadOnly from "./modules/is-read-only";
12
- import * as BuilderEditMode from "./modules/builder-edit-mode";
13
- import * as Breakpoints from "./modules/breakpoints";
14
- import {
15
- createBaseDocument,
16
- createDocumentReference,
17
- getRootElement,
18
- isElementReference
19
- } from "./modules/read-only-documents";
20
- const reducers = {
21
- siteVersion: SiteVersion.reducer,
22
- isReadOnly: IsReadOnly.reducer,
23
- locale: Locale.reducer,
24
- documents: Documents.reducer,
25
- elementTrees: ElementTrees.reducer,
26
- reactComponents: ReactComponents.reducer,
27
- componentsMeta: ComponentsMeta.reducer,
28
- propControllers: PropControllers.reducer,
29
- propControllerHandles: PropControllerHandles.reducer,
30
- isInBuilder: IsInBuilder.reducer,
31
- builderEditMode: BuilderEditMode.reducer,
32
- breakpoints: Breakpoints.reducer
33
- };
34
- function getDocumentsStateSlice(state) {
35
- return state.documents;
36
- }
37
- function getDocument(state, documentKey) {
38
- return Documents.getDocument(getDocumentsStateSlice(state), documentKey);
39
- }
40
- function getElementTreesSlice(state) {
41
- return state.elementTrees;
42
- }
43
- function getElements(state, documentKey) {
44
- return ElementTrees.getElements(getElementTreesSlice(state), documentKey);
45
- }
46
- function getElementIds(state, documentKey) {
47
- return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey);
48
- }
49
- function getReactComponentsStateSlice(state) {
50
- return state.reactComponents;
51
- }
52
- function getReactComponent(state, type) {
53
- return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type);
54
- }
55
- function getComponentsMetaStateSlice(state) {
56
- return state.componentsMeta;
57
- }
58
- function getComponentsMeta(state) {
59
- return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state));
60
- }
61
- function getComponentMeta(state, type) {
62
- return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type);
63
- }
64
- function getPropControllersStateSlice(state) {
65
- return state.propControllers;
66
- }
67
- function getPropControllerDescriptors(state) {
68
- return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state));
69
- }
70
- function getComponentPropControllerDescriptors(state, componentType) {
71
- return PropControllers.getComponentPropControllerDescriptors(
72
- getPropControllersStateSlice(state),
73
- componentType
74
- );
75
- }
76
- function getPropControllerHandlesStateSlice(state) {
77
- return state.propControllerHandles;
78
- }
79
- function getPropControllers(state, { documentKey, elementKey }) {
80
- return PropControllerHandles.getPropControllers(
81
- getPropControllerHandlesStateSlice(state),
82
- documentKey,
83
- elementKey
84
- );
85
- }
86
- function getPropControllersHandle(state, { documentKey, elementKey }) {
87
- return PropControllerHandles.getPropControllersHandle(
88
- getPropControllerHandlesStateSlice(state),
89
- documentKey,
90
- elementKey
91
- );
92
- }
93
- function getPropController(state, {
94
- documentKey,
95
- elementKey,
96
- propName
97
- }) {
98
- return PropControllerHandles.getPropController(
99
- getPropControllerHandlesStateSlice(state),
100
- documentKey,
101
- elementKey,
102
- propName
103
- );
104
- }
105
- const getDocumentKeysSortedByDepth = createSelector(
106
- [getDocumentsStateSlice, getElementTreesSlice],
107
- (documents, elementTrees) => {
108
- return [...documents.keys()].sort((a, b) => elementTrees.get(a)?.elements.has(b) ? -1 : 1);
109
- }
110
- );
111
- function getElement(state, documentKey, elementKey) {
112
- return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey);
113
- }
114
- function getElementId(state, documentKey, elementKey) {
115
- return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey);
116
- }
117
- function getElementPropControllerDescriptors(state, documentKey, elementKey) {
118
- const element = getElement(state, documentKey, elementKey);
119
- if (element == null || Documents.isElementReference(element))
120
- return null;
121
- return getComponentPropControllerDescriptors(state, element.type);
122
- }
123
- function getIsInBuilder(state) {
124
- return state.isInBuilder;
125
- }
126
- function getIsReadOnly(state) {
127
- return state.isReadOnly;
128
- }
129
- function getBuilderEditMode(state) {
130
- return state.builderEditMode;
131
- }
132
- function getBreakpointsStateSlice(state) {
133
- return state.breakpoints;
134
- }
135
- function getBreakpoints(state) {
136
- return getBreakpointsStateSlice(state).breakpoints;
137
- }
138
- function getBaseBreakpoint(state) {
139
- return getBreakpointsStateSlice(state).baseBreakpoint;
140
- }
141
- function getClientBreakpoint(state) {
142
- return getBreakpointsStateSlice(state).clientBreakpoint;
143
- }
144
- function getLocale(state) {
145
- return state.locale;
146
- }
147
- export {
148
- createBaseDocument,
149
- createDocumentReference,
150
- getBaseBreakpoint,
151
- getBreakpoints,
152
- getBuilderEditMode,
153
- getClientBreakpoint,
154
- getComponentMeta,
155
- getComponentPropControllerDescriptors,
156
- getComponentsMeta,
157
- getDocument,
158
- getDocumentKeysSortedByDepth,
159
- getElement,
160
- getElementId,
161
- getElementIds,
162
- getElementPropControllerDescriptors,
163
- getElements,
164
- getIsInBuilder,
165
- getIsReadOnly,
166
- getLocale,
167
- getPropController,
168
- getPropControllerDescriptors,
169
- getPropControllers,
170
- getPropControllersHandle,
171
- getReactComponent,
172
- getRootElement,
173
- isElementReference,
174
- reducers
175
- };
176
- //# sourceMappingURL=read-only-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/read-only-state.ts"],"sourcesContent":["import { type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport { createSelector } from 'reselect'\n\nimport * as SiteVersion from './modules/site-version'\nimport * as Locale from './modules/locale'\nimport * as Documents from './modules/read-only-documents'\nimport * as ElementTrees from './modules/element-trees'\nimport * as ReactComponents from './modules/react-components'\nimport * as ComponentsMeta from './modules/components-meta'\nimport * as PropControllers from './modules/prop-controllers'\nimport * as PropControllerHandles from './modules/prop-controller-handles'\nimport * as IsInBuilder from './modules/is-in-builder'\nimport * as IsReadOnly from './modules/is-read-only'\nimport * as BuilderEditMode from './modules/builder-edit-mode'\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { type Action } from './actions'\n\nexport type {\n Data,\n Document,\n DocumentReference,\n Element,\n ElementData,\n ElementReference,\n} from './modules/read-only-documents'\n\nexport {\n createBaseDocument,\n createDocumentReference,\n getRootElement,\n isElementReference,\n} from './modules/read-only-documents'\n\nexport type { ComponentType } from './modules/react-components'\nexport type { ComponentMeta } from './modules/components-meta'\n\nexport const reducers = {\n siteVersion: SiteVersion.reducer,\n isReadOnly: IsReadOnly.reducer,\n locale: Locale.reducer,\n documents: Documents.reducer,\n elementTrees: ElementTrees.reducer,\n reactComponents: ReactComponents.reducer,\n componentsMeta: ComponentsMeta.reducer,\n propControllers: PropControllers.reducer,\n propControllerHandles: PropControllerHandles.reducer,\n isInBuilder: IsInBuilder.reducer,\n builderEditMode: BuilderEditMode.reducer,\n breakpoints: Breakpoints.reducer,\n}\n\nexport type State = {\n siteVersion: SiteVersion.State\n isReadOnly: IsReadOnly.State\n locale: Locale.State\n documents: Documents.State\n elementTrees: ElementTrees.State\n reactComponents: ReactComponents.State\n componentsMeta: ComponentsMeta.State\n propControllers: PropControllers.State\n propControllerHandles: PropControllerHandles.State\n isInBuilder: IsInBuilder.State\n builderEditMode: BuilderEditMode.State\n breakpoints: Breakpoints.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getElementTreesSlice(state: State): ElementTrees.State {\n return state.elementTrees\n}\n\nexport function getElements(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elements'] {\n return ElementTrees.getElements(getElementTreesSlice(state), documentKey)\n}\n\nexport function getElementIds(\n state: State,\n documentKey: string,\n): ElementTrees.ElementTree['elementIds'] {\n return ElementTrees.getElementIds(getElementTreesSlice(state), documentKey)\n}\n\nfunction getReactComponentsStateSlice(state: State): ReactComponents.State {\n return state.reactComponents\n}\n\nexport function getReactComponent(\n state: State,\n type: string,\n): ReactComponents.ComponentType | null {\n return ReactComponents.getReactComponent(getReactComponentsStateSlice(state), type)\n}\n\nfunction getComponentsMetaStateSlice(state: State): ComponentsMeta.State {\n return state.componentsMeta\n}\n\nexport function getComponentsMeta(state: State): Map<string, ComponentsMeta.ComponentMeta> {\n return ComponentsMeta.getComponentsMeta(getComponentsMetaStateSlice(state))\n}\n\nexport function getComponentMeta(state: State, type: string): ComponentsMeta.ComponentMeta | null {\n return ComponentsMeta.getComponentMeta(getComponentsMetaStateSlice(state), type)\n}\n\nfunction getPropControllersStateSlice(state: State): PropControllers.State {\n return state.propControllers\n}\n\nexport function getPropControllerDescriptors(state: State): PropControllers.State {\n return PropControllers.getPropControllerDescriptors(getPropControllersStateSlice(state))\n}\n\nexport function getComponentPropControllerDescriptors(\n state: State,\n componentType: string,\n): PropControllers.DescriptorsByProp | null {\n return PropControllers.getComponentPropControllerDescriptors(\n getPropControllersStateSlice(state),\n componentType,\n )\n}\n\nfunction getPropControllerHandlesStateSlice(state: State): PropControllerHandles.State {\n return state.propControllerHandles\n}\n\nexport function getPropControllers(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllerHandles.getPropControllers(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropControllersHandle(\n state: State,\n { documentKey, elementKey }: { documentKey: string; elementKey: string },\n) {\n return PropControllerHandles.getPropControllersHandle(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n )\n}\n\nexport function getPropController(\n state: State,\n {\n documentKey,\n elementKey,\n propName,\n }: { documentKey: string; elementKey: string; propName: string },\n) {\n return PropControllerHandles.getPropController(\n getPropControllerHandlesStateSlice(state),\n documentKey,\n elementKey,\n propName,\n )\n}\n\n/**\n * Returns all document keys sorted by depth, i.e., parent documents come before child documents.\n */\nexport const getDocumentKeysSortedByDepth: (state: State) => string[] = createSelector(\n [getDocumentsStateSlice, getElementTreesSlice],\n (documents, elementTrees) => {\n return [...documents.keys()].sort((a, b) => (elementTrees.get(a)?.elements.has(b) ? -1 : 1))\n },\n)\n\nexport function getElement(\n state: State,\n documentKey: string,\n elementKey: string,\n): Documents.Element | null {\n return ElementTrees.getElement(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementId(state: State, documentKey: string, elementKey: string): string | null {\n return ElementTrees.getElementId(getElementTreesSlice(state), documentKey, elementKey)\n}\n\nexport function getElementPropControllerDescriptors(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropControllers.PropControllerDescriptor> | null {\n const element = getElement(state, documentKey, elementKey)\n\n if (element == null || Documents.isElementReference(element)) return null\n\n return getComponentPropControllerDescriptors(state, element.type)\n}\n\nexport function getIsInBuilder(state: State): boolean {\n return state.isInBuilder\n}\n\nexport function getIsReadOnly(state: State): boolean {\n return state.isReadOnly\n}\n\nexport function getBuilderEditMode(state: State): BuilderEditMode.State {\n return state.builderEditMode\n}\n\nfunction getBreakpointsStateSlice(state: State): Breakpoints.State {\n return state.breakpoints\n}\n\nexport function getBreakpoints(state: State): Breakpoints.Breakpoints {\n return getBreakpointsStateSlice(state).breakpoints\n}\n\nexport function getBaseBreakpoint(state: State): Breakpoints.BreakpointId {\n return getBreakpointsStateSlice(state).baseBreakpoint\n}\n\nexport function getClientBreakpoint(state: State): Breakpoints.BreakpointId {\n return getBreakpointsStateSlice(state).clientBreakpoint\n}\n\nexport function getLocale(state: State): string | null {\n return state.locale\n}\n"],"mappings":"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","names":[]}
@@ -1,82 +0,0 @@
1
- import { combineReducers } from "@reduxjs/toolkit";
2
- import * as Documents from "./modules/read-write/read-write-documents";
3
- import * as BoxModels from "./modules/read-write/box-models";
4
- import * as Pointer from "./modules/read-write/pointer";
5
- import * as ElementImperativeHandles from "./modules/read-write/element-imperative-handles";
6
- import * as ReadOnlyState from "./read-only-state";
7
- import { createBox, getBox, parse } from "./modules/read-write/box-models";
8
- const reducers = {
9
- ...ReadOnlyState.reducers,
10
- documents: Documents.reducer,
11
- boxModels: BoxModels.reducer,
12
- pointer: Pointer.reducer,
13
- elementImperativeHandles: ElementImperativeHandles.reducer
14
- };
15
- function createRootReducer() {
16
- return combineReducers(reducers);
17
- }
18
- function getDocumentsStateSlice(state) {
19
- return state.documents;
20
- }
21
- function getDocuments(state) {
22
- return Documents.getDocuments(getDocumentsStateSlice(state));
23
- }
24
- function getDocument(state, documentKey) {
25
- return Documents.getDocument(getDocumentsStateSlice(state), documentKey);
26
- }
27
- function getBoxModelsStateSlice(state) {
28
- return state.boxModels;
29
- }
30
- function getMeasurables(state) {
31
- return BoxModels.getMeasurables(getBoxModelsStateSlice(state));
32
- }
33
- function getBoxModels(state) {
34
- return BoxModels.getBoxModels(getBoxModelsStateSlice(state));
35
- }
36
- function getBoxModel(state, documentKey, elementKey) {
37
- return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey);
38
- }
39
- function getPointer(state) {
40
- return Pointer.getPointer(state.pointer);
41
- }
42
- function getElementImperativeHandles(state) {
43
- return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles);
44
- }
45
- function getElementImperativeHandlesContainingElement(state, element) {
46
- const elementImperativeHandles = getElementImperativeHandles(state);
47
- const filteredElementImperativeHandles = /* @__PURE__ */ new Map();
48
- for (const [documentKey, byElementKey] of elementImperativeHandles) {
49
- const filteredByElementKey = /* @__PURE__ */ new Map();
50
- for (const [elementKey, elementImperativeHandle] of byElementKey) {
51
- const handleElement = elementImperativeHandle.getDomNode();
52
- if (handleElement?.contains(element)) {
53
- filteredByElementKey.set(elementKey, elementImperativeHandle);
54
- }
55
- }
56
- if (filteredByElementKey.size > 0) {
57
- filteredElementImperativeHandles.set(documentKey, filteredByElementKey);
58
- }
59
- }
60
- return filteredElementImperativeHandles;
61
- }
62
- function setupBuilderProxy(builderProxy) {
63
- return (dispatch) => {
64
- return builderProxy.setup({ onHostAction: (action) => dispatch(action) });
65
- };
66
- }
67
- export {
68
- createBox,
69
- createRootReducer,
70
- getBox,
71
- getBoxModel,
72
- getBoxModels,
73
- getDocument,
74
- getDocuments,
75
- getElementImperativeHandles,
76
- getElementImperativeHandlesContainingElement,
77
- getMeasurables,
78
- getPointer,
79
- parse,
80
- setupBuilderProxy
81
- };
82
- //# sourceMappingURL=read-write-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/read-write-state.ts"],"sourcesContent":["import { combineReducers, type ThunkAction, type ThunkDispatch } from '@reduxjs/toolkit'\n\nimport * as Documents from './modules/read-write/read-write-documents'\nimport * as BoxModels from './modules/read-write/box-models'\nimport * as Pointer from './modules/read-write/pointer'\nimport * as ElementImperativeHandles from './modules/read-write/element-imperative-handles'\n\nimport { type Action } from './actions'\n\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\n\nimport { BuilderAPIProxy } from './builder-api/proxy'\nimport * as ReadOnlyState from './read-only-state'\n\nexport type { Operation } from './modules/read-write/read-write-documents'\nexport type { BoxModelHandle } from './modules/read-write/box-models'\nexport { createBox, getBox, parse } from './modules/read-write/box-models'\n\nconst reducers = {\n ...ReadOnlyState.reducers,\n documents: Documents.reducer,\n boxModels: BoxModels.reducer,\n pointer: Pointer.reducer,\n elementImperativeHandles: ElementImperativeHandles.reducer,\n}\n\nexport function createRootReducer() {\n return combineReducers(reducers)\n}\n\nexport type State = Omit<ReadOnlyState.State, 'documents'> & {\n documents: Documents.State\n boxModels: BoxModels.State\n pointer: Pointer.State\n elementImperativeHandles: ElementImperativeHandles.State\n}\n\nexport type Dispatch = ThunkDispatch<State, unknown, Action>\n\nfunction getDocumentsStateSlice(state: State): Documents.State {\n return state.documents\n}\n\nexport function getDocuments(state: State): Documents.State {\n return Documents.getDocuments(getDocumentsStateSlice(state))\n}\n\nexport function getDocument(state: State, documentKey: string): Documents.Document | null {\n return Documents.getDocument(getDocumentsStateSlice(state), documentKey)\n}\n\nfunction getBoxModelsStateSlice(state: State): BoxModels.State {\n return state.boxModels\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, BoxModels.Measurable>> {\n return BoxModels.getMeasurables(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModels.BoxDisplayModel>> {\n return BoxModels.getBoxModels(getBoxModelsStateSlice(state))\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModels.BoxDisplayModel | null {\n return BoxModels.getBoxModel(getBoxModelsStateSlice(state), documentKey, elementKey)\n}\n\nexport function getPointer(state: State): Pointer.Point | null {\n return Pointer.getPointer(state.pointer)\n}\n\nexport function getElementImperativeHandles(\n state: State,\n): Map<string, Map<string, ElementImperativeHandle>> {\n return ElementImperativeHandles.getElementImperativeHandles(state.elementImperativeHandles)\n}\n\nexport function getElementImperativeHandlesContainingElement(\n state: State,\n element: Element,\n): Map<string, Map<string, ElementImperativeHandle>> {\n const elementImperativeHandles = getElementImperativeHandles(state)\n const filteredElementImperativeHandles = new Map<string, Map<string, ElementImperativeHandle>>()\n\n for (const [documentKey, byElementKey] of elementImperativeHandles) {\n const filteredByElementKey = new Map<string, ElementImperativeHandle>()\n\n for (const [elementKey, elementImperativeHandle] of byElementKey) {\n const handleElement = elementImperativeHandle.getDomNode()\n\n if (handleElement?.contains(element)) {\n filteredByElementKey.set(elementKey, elementImperativeHandle)\n }\n }\n\n if (filteredByElementKey.size > 0) {\n filteredElementImperativeHandles.set(documentKey, filteredByElementKey)\n }\n }\n\n return filteredElementImperativeHandles\n}\n\nexport function setupBuilderProxy(\n builderProxy: BuilderAPIProxy,\n): ThunkAction<VoidFunction, State, unknown, Action> {\n return dispatch => {\n return builderProxy.setup({ onHostAction: action => dispatch(action) })\n }\n}\n"],"mappings":"AAAA,SAAS,uBAA6D;AAEtE,YAAY,eAAe;AAC3B,YAAY,eAAe;AAC3B,YAAY,aAAa;AACzB,YAAY,8BAA8B;AAO1C,YAAY,mBAAmB;AAI/B,SAAS,WAAW,QAAQ,aAAa;AAEzC,MAAM,WAAW;AAAA,EACf,GAAG,cAAc;AAAA,EACjB,WAAW,UAAU;AAAA,EACrB,WAAW,UAAU;AAAA,EACrB,SAAS,QAAQ;AAAA,EACjB,0BAA0B,yBAAyB;AACrD;AAEO,SAAS,oBAAoB;AAClC,SAAO,gBAAgB,QAAQ;AACjC;AAWA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAA+B;AAC1D,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YAAY,OAAc,aAAgD;AACxF,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,WAAW;AACzE;AAEA,SAAS,uBAAuB,OAA+B;AAC7D,SAAO,MAAM;AACf;AAEO,SAAS,eAAe,OAA8D;AAC3F,SAAO,UAAU,eAAe,uBAAuB,KAAK,CAAC;AAC/D;AAEO,SAAS,aAAa,OAAmE;AAC9F,SAAO,UAAU,aAAa,uBAAuB,KAAK,CAAC;AAC7D;AAEO,SAAS,YACd,OACA,aACA,YACkC;AAClC,SAAO,UAAU,YAAY,uBAAuB,KAAK,GAAG,aAAa,UAAU;AACrF;AAEO,SAAS,WAAW,OAAoC;AAC7D,SAAO,QAAQ,WAAW,MAAM,OAAO;AACzC;AAEO,SAAS,4BACd,OACmD;AACnD,SAAO,yBAAyB,4BAA4B,MAAM,wBAAwB;AAC5F;AAEO,SAAS,6CACd,OACA,SACmD;AACnD,QAAM,2BAA2B,4BAA4B,KAAK;AAClE,QAAM,mCAAmC,oBAAI,IAAkD;AAE/F,aAAW,CAAC,aAAa,YAAY,KAAK,0BAA0B;AAClE,UAAM,uBAAuB,oBAAI,IAAqC;AAEtE,eAAW,CAAC,YAAY,uBAAuB,KAAK,cAAc;AAChE,YAAM,gBAAgB,wBAAwB,WAAW;AAEzD,UAAI,eAAe,SAAS,OAAO,GAAG;AACpC,6BAAqB,IAAI,YAAY,uBAAuB;AAAA,MAC9D;AAAA,IACF;AAEA,QAAI,qBAAqB,OAAO,GAAG;AACjC,uCAAiC,IAAI,aAAa,oBAAoB;AAAA,IACxE;AAAA,EACF;AAEA,SAAO;AACT;AAEO,SAAS,kBACd,cACmD;AACnD,SAAO,cAAY;AACjB,WAAO,aAAa,MAAM,EAAE,cAAc,YAAU,SAAS,MAAM,EAAE,CAAC;AAAA,EACxE;AACF;","names":[]}
@@ -1,188 +0,0 @@
1
- import {
2
- Tuple,
3
- configureStore as configureReduxStore,
4
- combineReducers,
5
- compose
6
- } from "@reduxjs/toolkit";
7
- import { actionMiddleware, middlewareOptions, devToolsConfig } from "./toolkit";
8
- import { BuilderActionTypes } from "./builder-api/actions";
9
- import { HostActionTypes } from "./host-api";
10
- import * as Breakpoints from "./modules/breakpoints";
11
- import { readOnlyElementTreeMiddleware } from "./middleware/read-only-element-tree";
12
- import { makeswiftApiClientSyncMiddleware } from "./middleware/makeswift-api-client-sync";
13
- import { breakpointWatchMixin } from "./mixins/breakpoint-watch";
14
- import * as ReadOnlyState from "./read-only-state";
15
- const configureStore = ({
16
- name,
17
- preloadedState,
18
- enhancers,
19
- middleware
20
- }) => {
21
- const store = configureReduxStore({
22
- reducer: combineReducers(ReadOnlyState.reducers),
23
- preloadedState,
24
- middleware: (getDefaultMiddleware) => getDefaultMiddleware(middlewareOptions).concat([
25
- readOnlyElementTreeMiddleware(),
26
- ...middleware ? middleware() : []
27
- ]),
28
- enhancers: (getDefaultEnhancers) => getDefaultEnhancers().concat(enhancers()),
29
- devTools: devToolsConfig({
30
- name: `${name} (${(/* @__PURE__ */ new Date()).toISOString()})`,
31
- actionsDenylist: [
32
- HostActionTypes.BUILDER_POINTER_MOVE,
33
- BuilderActionTypes.HANDLE_POINTER_MOVE,
34
- BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE
35
- ]
36
- })
37
- });
38
- return store;
39
- };
40
- function configureProtoStore({
41
- name,
42
- breakpoints
43
- }) {
44
- return configureStore({
45
- name,
46
- preloadedState: {
47
- breakpoints: Breakpoints.getInitialState(breakpoints)
48
- },
49
- enhancers: () => new Tuple()
50
- });
51
- }
52
- function conditionalReadWriteMiddleware(middlewareRef) {
53
- let readWriteActionBuffer = [];
54
- let middlewares = null;
55
- let enhancedDispatch = null;
56
- return actionMiddleware(({ dispatch, getState }) => (next) => {
57
- return (action) => {
58
- const state = getState();
59
- if (middlewareRef.current == null) {
60
- if (!state.isReadOnly) {
61
- readWriteActionBuffer.push(action);
62
- }
63
- return next(action);
64
- }
65
- if (state.isReadOnly) {
66
- console.error("Read-write state mismatch", {
67
- isReadOnly: state.isReadOnly,
68
- middlewareRef: middlewareRef.current,
69
- siteVersion: state.siteVersion
70
- });
71
- }
72
- if (enhancedDispatch == null || middlewares !== middlewareRef.current) {
73
- middlewares = middlewareRef.current;
74
- const middlewareApi = { dispatch, getState };
75
- enhancedDispatch = compose(...middlewares.map((mw) => mw(middlewareApi)))(next);
76
- }
77
- if (readWriteActionBuffer.length > 0) {
78
- const readWriteActions = [...readWriteActionBuffer];
79
- readWriteActionBuffer = [];
80
- for (const bufferedAction of readWriteActions) {
81
- enhancedDispatch(bufferedAction);
82
- }
83
- }
84
- return enhancedDispatch(action);
85
- };
86
- });
87
- }
88
- function withMixin(mixin) {
89
- return (next) => (reducer, preloadedState) => ({
90
- ...next(reducer, preloadedState),
91
- ...mixin
92
- });
93
- }
94
- function configureReadWriteStore({
95
- name,
96
- appOrigin,
97
- hostApiClient,
98
- preloadedState
99
- }) {
100
- const readWriteMiddlewareRef = {
101
- current: null
102
- };
103
- let refCount = 0;
104
- let readWriteCleanup = null;
105
- let readWriteSetupPromise = null;
106
- const loadReadWriteState = async () => {
107
- if (readWriteCleanup != null) {
108
- return;
109
- }
110
- if (readWriteSetupPromise != null) {
111
- await readWriteSetupPromise;
112
- return;
113
- }
114
- readWriteSetupPromise = (async () => {
115
- const { BuilderAPIProxy } = await import("./builder-api/proxy");
116
- const { createRootReducer, setupBuilderProxy } = await import("./read-write-state");
117
- const { createReadWriteMiddleware } = await import("./middleware/read-write");
118
- if (readWriteMiddlewareRef.current != null) {
119
- return;
120
- }
121
- store.replaceReducer(createRootReducer());
122
- const builderProxy = new BuilderAPIProxy({ appOrigin });
123
- readWriteMiddlewareRef.current = createReadWriteMiddleware({ builderProxy });
124
- const dispatch = store.dispatch;
125
- const builderProxyCleanup = dispatch(setupBuilderProxy(builderProxy));
126
- readWriteCleanup = () => {
127
- readWriteMiddlewareRef.current = null;
128
- builderProxyCleanup();
129
- };
130
- })();
131
- try {
132
- await readWriteSetupPromise;
133
- } finally {
134
- readWriteSetupPromise = null;
135
- }
136
- };
137
- const store = configureStore({
138
- name,
139
- preloadedState,
140
- middleware: () => [
141
- makeswiftApiClientSyncMiddleware(hostApiClient),
142
- conditionalReadWriteMiddleware(readWriteMiddlewareRef)
143
- ],
144
- enhancers: () => new Tuple(
145
- withMixin(
146
- breakpointWatchMixin({
147
- dispatch: (...args) => store.dispatch(...args),
148
- getState: () => store.getState(),
149
- subscribe: (listener) => store.subscribe(listener)
150
- })
151
- ),
152
- withMixin({
153
- hostApiClient,
154
- loadReadWriteStateIfNeeded: async () => {
155
- const { isReadOnly } = store.getState();
156
- if (isReadOnly) {
157
- if (refCount > 0) {
158
- console.error("Read-write state mismatch", { isReadOnly, refCount });
159
- }
160
- return () => {
161
- };
162
- }
163
- await loadReadWriteState();
164
- refCount += 1;
165
- let didCleanup = false;
166
- return () => {
167
- if (didCleanup) {
168
- return;
169
- }
170
- didCleanup = true;
171
- refCount -= 1;
172
- if (refCount === 0 && readWriteCleanup != null) {
173
- readWriteCleanup();
174
- readWriteCleanup = null;
175
- }
176
- };
177
- }
178
- })
179
- )
180
- });
181
- return store;
182
- }
183
- export {
184
- conditionalReadWriteMiddleware,
185
- configureProtoStore,
186
- configureReadWriteStore
187
- };
188
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/state/store.ts"],"sourcesContent":["import {\n type Middleware,\n type StoreEnhancer,\n type MiddlewareAPI,\n Tuple,\n configureStore as configureReduxStore,\n combineReducers,\n compose,\n} from '@reduxjs/toolkit'\n\nimport { MakeswiftHostApiClient } from '../api/client'\n\nimport { actionMiddleware, middlewareOptions, devToolsConfig } from './toolkit'\nimport { BuilderActionTypes } from './builder-api/actions'\nimport { HostActionTypes } from './host-api'\n\nimport * as Breakpoints from './modules/breakpoints'\n\nimport { readOnlyElementTreeMiddleware } from './middleware/read-only-element-tree'\nimport { makeswiftApiClientSyncMiddleware } from './middleware/makeswift-api-client-sync'\nimport { type BreakpointWatch, breakpointWatchMixin } from './mixins/breakpoint-watch'\n\nimport { type Action } from './actions'\n\nimport { type State as ReadWriteState } from './read-write-state'\nimport * as ReadOnlyState from './read-only-state'\nimport {\n type State,\n type Dispatch,\n type ReadOnlyReducer,\n type ReadWriteDispatch,\n} from './unified-state'\n\nexport { type State } from './unified-state'\n\nconst configureStore = <Items extends readonly StoreEnhancer[] = []>({\n name,\n preloadedState,\n enhancers,\n middleware,\n}: {\n name: string\n preloadedState: Partial<State>\n enhancers: () => Tuple<Items>\n middleware?: () => Middleware[]\n}) => {\n const store = configureReduxStore({\n reducer: combineReducers(ReadOnlyState.reducers),\n preloadedState,\n\n middleware: getDefaultMiddleware =>\n getDefaultMiddleware(middlewareOptions).concat([\n readOnlyElementTreeMiddleware(),\n ...(middleware ? middleware() : []),\n ]),\n\n enhancers: getDefaultEnhancers => getDefaultEnhancers().concat(enhancers()),\n\n devTools: devToolsConfig({\n name: `${name} (${new Date().toISOString()})`,\n actionsDenylist: [\n HostActionTypes.BUILDER_POINTER_MOVE,\n BuilderActionTypes.HANDLE_POINTER_MOVE,\n BuilderActionTypes.ELEMENT_FROM_POINT_CHANGE,\n ],\n }),\n })\n\n return store\n}\n\nexport function configureProtoStore({\n name,\n breakpoints,\n}: {\n name: string\n breakpoints: Breakpoints.Breakpoints | undefined\n}) {\n return configureStore({\n name,\n preloadedState: {\n breakpoints: Breakpoints.getInitialState(breakpoints),\n },\n enhancers: () => new Tuple(),\n })\n}\n\nexport type ProtoStore = ReturnType<typeof configureProtoStore>\n\ntype ReadWriteMiddleware = ReturnType<\n typeof import('./middleware/read-write').createReadWriteMiddleware\n>\n\ntype ReadWriteMiddlewareRef = {\n current: ReadWriteMiddleware | null\n}\n\nexport function conditionalReadWriteMiddleware(\n middlewareRef: ReadWriteMiddlewareRef,\n): Middleware<Dispatch, State, Dispatch> {\n let readWriteActionBuffer: Action[] = []\n let middlewares: ReadWriteMiddleware | null = null\n let enhancedDispatch: Dispatch | null = null\n\n return actionMiddleware(({ dispatch, getState }) => next => {\n return (action: Action) => {\n const state = getState()\n\n if (middlewareRef.current == null) {\n if (!state.isReadOnly) {\n // because switching to the read-write state is an asynchronous operation,\n // we need to buffer all actions dispatched after the isReadOnly state is\n // set to false but before the read-write middleware is installed\n readWriteActionBuffer.push(action)\n }\n\n return next(action)\n }\n\n if (state.isReadOnly) {\n console.error('Read-write state mismatch', {\n isReadOnly: state.isReadOnly,\n middlewareRef: middlewareRef.current,\n siteVersion: state.siteVersion,\n })\n }\n\n // build and cache the enhanced dispatch chain when read-write middleware is installed\n if (enhancedDispatch == null || middlewares !== middlewareRef.current) {\n middlewares = middlewareRef.current\n\n const middlewareApi = { dispatch, getState } as MiddlewareAPI<\n ReadWriteDispatch,\n ReadWriteState\n >\n\n enhancedDispatch = compose<Dispatch>(...middlewares.map(mw => mw(middlewareApi)))(next)\n }\n\n // dispatch buffered actions, if any\n if (readWriteActionBuffer.length > 0) {\n const readWriteActions = [...readWriteActionBuffer]\n readWriteActionBuffer = []\n\n // Note that we're rerunning the actions through the entire middleware chain,\n // including the read-only middleware and the reducers, some of which have\n // already processed these actions once. This is safe to do because actions that\n // are run as part of page initialization are idempotent.\n for (const bufferedAction of readWriteActions) {\n enhancedDispatch(bufferedAction)\n }\n }\n\n return enhancedDispatch(action)\n }\n })\n}\n\nexport interface ReadWriteStateMixin {\n readonly hostApiClient: MakeswiftHostApiClient\n\n loadReadWriteStateIfNeeded(): Promise<() => void>\n}\n\nfunction withMixin<M extends {}>(mixin: M): StoreEnhancer<M> {\n return next => (reducer, preloadedState?) => ({\n ...next(reducer, preloadedState),\n ...mixin,\n })\n}\n\nexport function configureReadWriteStore({\n name,\n appOrigin,\n hostApiClient,\n preloadedState,\n}: {\n name: string\n appOrigin: string\n hostApiClient: MakeswiftHostApiClient\n preloadedState: Partial<State>\n}) {\n const readWriteMiddlewareRef: ReadWriteMiddlewareRef = {\n current: null,\n }\n\n let refCount = 0\n let readWriteCleanup: (() => void) | null = null\n let readWriteSetupPromise: Promise<void> | null = null\n\n const loadReadWriteState = async (): Promise<void> => {\n if (readWriteCleanup != null) {\n return\n }\n\n if (readWriteSetupPromise != null) {\n await readWriteSetupPromise\n return\n }\n\n readWriteSetupPromise = (async () => {\n // import all the modules needed for read-write mode before proceeding with\n // the setup to avoid race conditions when `setup` is called concurrently\n // in two different page regions\n const { BuilderAPIProxy } = await import('./builder-api/proxy')\n const { createRootReducer, setupBuilderProxy } = await import('./read-write-state')\n const { createReadWriteMiddleware } = await import('./middleware/read-write')\n\n // IMPORTANT: only synchronous code after this point\n\n // with all modules imported, check if another concurrent setup already\n // initialized the read-write middleware\n if (readWriteMiddlewareRef.current != null) {\n return\n }\n\n store.replaceReducer(createRootReducer() as ReadOnlyReducer)\n\n const builderProxy = new BuilderAPIProxy({ appOrigin })\n readWriteMiddlewareRef.current = createReadWriteMiddleware({ builderProxy })\n\n const dispatch = store.dispatch as ReadWriteDispatch\n const builderProxyCleanup = dispatch(setupBuilderProxy(builderProxy))\n\n readWriteCleanup = () => {\n readWriteMiddlewareRef.current = null\n builderProxyCleanup()\n }\n })()\n\n try {\n await readWriteSetupPromise\n } finally {\n readWriteSetupPromise = null\n }\n }\n\n const store = configureStore({\n name,\n preloadedState,\n\n middleware: () => [\n makeswiftApiClientSyncMiddleware(hostApiClient),\n conditionalReadWriteMiddleware(readWriteMiddlewareRef),\n ],\n\n enhancers: () =>\n new Tuple(\n withMixin<BreakpointWatch>(\n breakpointWatchMixin({\n dispatch: (...args: Parameters<Dispatch>) => store.dispatch(...args),\n getState: (): State => store.getState(),\n subscribe: (listener): VoidFunction => store.subscribe(listener),\n }),\n ),\n\n withMixin<ReadWriteStateMixin>({\n hostApiClient,\n loadReadWriteStateIfNeeded: async () => {\n const { isReadOnly } = store.getState()\n\n if (isReadOnly) {\n if (refCount > 0) {\n console.error('Read-write state mismatch', { isReadOnly, refCount })\n }\n\n return () => {}\n }\n\n await loadReadWriteState()\n refCount += 1\n\n let didCleanup = false\n return () => {\n if (didCleanup) {\n return\n }\n\n didCleanup = true\n refCount -= 1\n if (refCount === 0 && readWriteCleanup != null) {\n readWriteCleanup()\n readWriteCleanup = null\n }\n }\n },\n }),\n ),\n })\n\n return store\n}\n\nexport type Store = ReturnType<typeof configureReadWriteStore>\n"],"mappings":"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","names":[]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=unified-state.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -1,7 +0,0 @@
1
- import { getTranslatableContent } from "../state/translations/get";
2
- import { mergeTranslatedContent } from "../state/translations/merge";
3
- export {
4
- getTranslatableContent,
5
- mergeTranslatedContent
6
- };
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/translations/index.ts"],"sourcesContent":["export { getTranslatableContent } from '../state/translations/get'\nexport { mergeTranslatedContent } from '../state/translations/merge'\nexport type { DescriptorsByComponentType, DescriptorsByProp } from '../state/modules/prop-controllers'\nexport type { ElementData, Data, Element } from '../state/read-only-state'\nexport type { TranslationDto } from '@makeswift/controls'\n"],"mappings":"AAAA,SAAS,8BAA8B;AACvC,SAAS,8BAA8B;","names":[]}
@@ -1,15 +0,0 @@
1
- function createDeferred() {
2
- let resolve = () => {
3
- };
4
- let reject = () => {
5
- };
6
- const promise = new Promise((resolveFn, rejectFn) => {
7
- resolve = resolveFn;
8
- reject = rejectFn;
9
- });
10
- return { promise, resolve, reject };
11
- }
12
- export {
13
- createDeferred
14
- };
15
- //# sourceMappingURL=deferred.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/utils/deferred.ts"],"sourcesContent":["export type Deferred<T> = {\n promise: Promise<T>\n resolve: (value: T) => void\n reject: (reason?: unknown) => void\n}\n\nexport function createDeferred<T>(): Deferred<T> {\n let resolve: (value: T) => void = () => {}\n let reject: (reason?: unknown) => void = () => {}\n\n const promise = new Promise<T>((resolveFn, rejectFn) => {\n resolve = resolveFn\n reject = rejectFn\n })\n\n return { promise, resolve, reject }\n}\n"],"mappings":"AAMO,SAAS,iBAAiC;AAC/C,MAAI,UAA8B,MAAM;AAAA,EAAC;AACzC,MAAI,SAAqC,MAAM;AAAA,EAAC;AAEhD,QAAM,UAAU,IAAI,QAAW,CAAC,WAAW,aAAa;AACtD,cAAU;AACV,aAAS;AAAA,EACX,CAAC;AAED,SAAO,EAAE,SAAS,SAAS,OAAO;AACpC;","names":[]}
@@ -1,96 +0,0 @@
1
- const TTLCheck = {
2
- ON_GET: 1 << 0,
3
- ON_RETAIN: 1 << 1,
4
- ON_RELEASE: 1 << 2
5
- };
6
- class RefCountedMap {
7
- map = /* @__PURE__ */ new Map();
8
- unownedEntryTtlMs;
9
- ttlCheck;
10
- static TTLCheck = TTLCheck;
11
- constructor({
12
- unownedEntryTtlMs,
13
- ttlCheck = TTLCheck.ON_GET | TTLCheck.ON_RETAIN | TTLCheck.ON_RELEASE
14
- }) {
15
- this.unownedEntryTtlMs = unownedEntryTtlMs;
16
- this.ttlCheck = ttlCheck;
17
- }
18
- get size() {
19
- return this.map.size;
20
- }
21
- get(key) {
22
- return this.map.get(key)?.value;
23
- }
24
- getOrCreate(key, init) {
25
- try {
26
- const existing = this.map.get(key);
27
- if (existing) {
28
- if (isUnowned(existing))
29
- existing.accessedAt = Date.now();
30
- return existing.value;
31
- }
32
- const value = init();
33
- this.map.set(key, { value, count: void 0, accessedAt: Date.now() });
34
- return value;
35
- } finally {
36
- if (this.ttlCheck & TTLCheck.ON_GET)
37
- this.removeExpired();
38
- }
39
- }
40
- /**
41
- * Returns true on transition from unowned to owned
42
- */
43
- retain(key, value) {
44
- try {
45
- const existing = this.map.get(key);
46
- if (existing == null) {
47
- this.map.set(key, { value, count: 1 });
48
- return true;
49
- }
50
- if (existing.value === value) {
51
- existing.count = (existing.count ?? 0) + 1;
52
- return existing.count === 1;
53
- }
54
- return false;
55
- } finally {
56
- if (this.ttlCheck & TTLCheck.ON_RETAIN)
57
- this.removeExpired();
58
- }
59
- }
60
- /**
61
- * Returns true on transition from owned to unowned
62
- */
63
- release(key, value) {
64
- try {
65
- const existing = this.map.get(key);
66
- if (existing == null)
67
- return false;
68
- if (isUnowned(existing))
69
- return false;
70
- if (existing.value !== value)
71
- return false;
72
- if (existing.count === 1) {
73
- this.map.delete(key);
74
- return true;
75
- }
76
- existing.count -= 1;
77
- return false;
78
- } finally {
79
- if (this.ttlCheck & TTLCheck.ON_RELEASE)
80
- this.removeExpired();
81
- }
82
- }
83
- removeExpired() {
84
- const now = Date.now();
85
- const isExpired = (entry) => isUnowned(entry) && now - entry.accessedAt > this.unownedEntryTtlMs;
86
- this.map.forEach((entry, key) => {
87
- if (isExpired(entry))
88
- this.map.delete(key);
89
- });
90
- }
91
- }
92
- const isUnowned = (entry) => entry.count === void 0;
93
- export {
94
- RefCountedMap
95
- };
96
- //# sourceMappingURL=ref-counted-map.js.map