@statezero/core 0.2.37 → 0.2.38

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 (307) hide show
  1. package/dist/adaptors/vue/components/LayoutRenderer.js +166 -0
  2. package/dist/adaptors/vue/components/defaults/AlertElement.js +31 -0
  3. package/dist/adaptors/vue/components/defaults/DisplayElement.js +44 -0
  4. package/dist/adaptors/vue/components/defaults/DividerElement.js +10 -0
  5. package/dist/adaptors/vue/components/defaults/ErrorBlock.js +24 -0
  6. package/dist/adaptors/vue/components/defaults/GroupElement.js +41 -0
  7. package/dist/adaptors/vue/components/defaults/LabelElement.js +21 -0
  8. package/dist/adaptors/vue/components/defaults/TabsElement.js +38 -0
  9. package/package.json +6 -4
  10. package/dist/actions/backend1/django_app/calculate-hash.d.ts +0 -57
  11. package/dist/actions/backend1/django_app/calculate-hash.js +0 -80
  12. package/dist/actions/backend1/django_app/calculate-hash.schema.json +0 -148
  13. package/dist/actions/backend1/django_app/get-current-username.d.ts +0 -29
  14. package/dist/actions/backend1/django_app/get-current-username.js +0 -65
  15. package/dist/actions/backend1/django_app/get-current-username.schema.json +0 -47
  16. package/dist/actions/backend1/django_app/get-server-status.d.ts +0 -38
  17. package/dist/actions/backend1/django_app/get-server-status.js +0 -68
  18. package/dist/actions/backend1/django_app/get-server-status.schema.json +0 -93
  19. package/dist/actions/backend1/django_app/get-user-info.d.ts +0 -44
  20. package/dist/actions/backend1/django_app/get-user-info.js +0 -70
  21. package/dist/actions/backend1/django_app/get-user-info.schema.json +0 -127
  22. package/dist/actions/backend1/django_app/index.d.ts +0 -1
  23. package/dist/actions/backend1/django_app/index.js +0 -6
  24. package/dist/actions/backend1/django_app/process-data.d.ts +0 -51
  25. package/dist/actions/backend1/django_app/process-data.js +0 -78
  26. package/dist/actions/backend1/django_app/process-data.schema.json +0 -117
  27. package/dist/actions/backend1/django_app/send-notification.d.ts +0 -55
  28. package/dist/actions/backend1/django_app/send-notification.js +0 -81
  29. package/dist/actions/backend1/django_app/send-notification.schema.json +0 -175
  30. package/dist/actions/backend1/index.d.ts +0 -1
  31. package/dist/actions/backend1/index.js +0 -1
  32. package/dist/actions/default/django_app/calculate-hash.d.ts +0 -57
  33. package/dist/actions/default/django_app/calculate-hash.js +0 -80
  34. package/dist/actions/default/django_app/calculate-hash.schema.json +0 -148
  35. package/dist/actions/default/django_app/get-current-username.d.ts +0 -29
  36. package/dist/actions/default/django_app/get-current-username.js +0 -65
  37. package/dist/actions/default/django_app/get-current-username.schema.json +0 -47
  38. package/dist/actions/default/django_app/get-server-status.d.ts +0 -38
  39. package/dist/actions/default/django_app/get-server-status.js +0 -68
  40. package/dist/actions/default/django_app/get-server-status.schema.json +0 -93
  41. package/dist/actions/default/django_app/get-user-info.d.ts +0 -44
  42. package/dist/actions/default/django_app/get-user-info.js +0 -70
  43. package/dist/actions/default/django_app/get-user-info.schema.json +0 -127
  44. package/dist/actions/default/django_app/index.d.ts +0 -1
  45. package/dist/actions/default/django_app/index.js +0 -6
  46. package/dist/actions/default/django_app/process-data.d.ts +0 -51
  47. package/dist/actions/default/django_app/process-data.js +0 -78
  48. package/dist/actions/default/django_app/process-data.schema.json +0 -117
  49. package/dist/actions/default/django_app/send-notification.d.ts +0 -55
  50. package/dist/actions/default/django_app/send-notification.js +0 -81
  51. package/dist/actions/default/django_app/send-notification.schema.json +0 -175
  52. package/dist/actions/default/index.d.ts +0 -1
  53. package/dist/actions/default/index.js +0 -1
  54. package/dist/actions/index.d.ts +0 -1
  55. package/dist/actions/index.js +0 -5
  56. package/dist/adaptors/react/composables.d.ts +0 -1
  57. package/dist/adaptors/react/composables.js +0 -4
  58. package/dist/adaptors/react/index.d.ts +0 -1
  59. package/dist/adaptors/react/index.js +0 -1
  60. package/dist/adaptors/vue/components/LayoutRenderer.vue +0 -361
  61. package/dist/adaptors/vue/components/defaults/AlertElement.vue +0 -38
  62. package/dist/adaptors/vue/components/defaults/DisplayElement.vue +0 -57
  63. package/dist/adaptors/vue/components/defaults/DividerElement.vue +0 -13
  64. package/dist/adaptors/vue/components/defaults/ErrorBlock.vue +0 -28
  65. package/dist/adaptors/vue/components/defaults/GroupElement.vue +0 -53
  66. package/dist/adaptors/vue/components/defaults/LabelElement.vue +0 -25
  67. package/dist/adaptors/vue/components/defaults/TabsElement.vue +0 -54
  68. package/dist/adaptors/vue/components/defaults/index.d.ts +0 -7
  69. package/dist/adaptors/vue/components/defaults/index.js +0 -31
  70. package/dist/adaptors/vue/components/index.d.ts +0 -1
  71. package/dist/adaptors/vue/components/index.js +0 -7
  72. package/dist/adaptors/vue/composables.d.ts +0 -2
  73. package/dist/adaptors/vue/composables.js +0 -44
  74. package/dist/adaptors/vue/index.d.ts +0 -3
  75. package/dist/adaptors/vue/index.js +0 -4
  76. package/dist/adaptors/vue/reactivity.d.ts +0 -18
  77. package/dist/adaptors/vue/reactivity.js +0 -132
  78. package/dist/cli/commands/sync.d.ts +0 -6
  79. package/dist/cli/commands/sync.js +0 -30
  80. package/dist/cli/commands/syncActions.d.ts +0 -46
  81. package/dist/cli/commands/syncActions.js +0 -717
  82. package/dist/cli/commands/syncModels.d.ts +0 -132
  83. package/dist/cli/commands/syncModels.js +0 -1120
  84. package/dist/cli/configFileLoader.d.ts +0 -10
  85. package/dist/cli/configFileLoader.js +0 -85
  86. package/dist/cli/index.d.ts +0 -2
  87. package/dist/cli/index.js +0 -22
  88. package/dist/config.d.ts +0 -57
  89. package/dist/config.js +0 -273
  90. package/dist/core/eventReceivers.d.ts +0 -185
  91. package/dist/core/eventReceivers.js +0 -266
  92. package/dist/core/utils.d.ts +0 -8
  93. package/dist/core/utils.js +0 -62
  94. package/dist/errorHandler.d.ts +0 -21
  95. package/dist/errorHandler.js +0 -27
  96. package/dist/filtering/localFiltering.d.ts +0 -110
  97. package/dist/filtering/localFiltering.js +0 -1080
  98. package/dist/flavours/django/dates.d.ts +0 -34
  99. package/dist/flavours/django/dates.js +0 -113
  100. package/dist/flavours/django/errors.d.ts +0 -138
  101. package/dist/flavours/django/errors.js +0 -195
  102. package/dist/flavours/django/f.d.ts +0 -6
  103. package/dist/flavours/django/f.js +0 -91
  104. package/dist/flavours/django/files.d.ts +0 -62
  105. package/dist/flavours/django/files.js +0 -355
  106. package/dist/flavours/django/makeApiCall.d.ts +0 -36
  107. package/dist/flavours/django/makeApiCall.js +0 -169
  108. package/dist/flavours/django/manager.d.ts +0 -204
  109. package/dist/flavours/django/manager.js +0 -222
  110. package/dist/flavours/django/model.d.ts +0 -137
  111. package/dist/flavours/django/model.js +0 -366
  112. package/dist/flavours/django/operationFactory.d.ts +0 -73
  113. package/dist/flavours/django/operationFactory.js +0 -248
  114. package/dist/flavours/django/q.d.ts +0 -70
  115. package/dist/flavours/django/q.js +0 -43
  116. package/dist/flavours/django/queryExecutor.d.ts +0 -149
  117. package/dist/flavours/django/queryExecutor.js +0 -590
  118. package/dist/flavours/django/querySet.d.ts +0 -301
  119. package/dist/flavours/django/querySet.js +0 -736
  120. package/dist/flavours/django/serializers.d.ts +0 -39
  121. package/dist/flavours/django/serializers.js +0 -296
  122. package/dist/flavours/django/tempPk.d.ts +0 -31
  123. package/dist/flavours/django/tempPk.js +0 -92
  124. package/dist/flavours/django/utils.d.ts +0 -19
  125. package/dist/flavours/django/utils.js +0 -29
  126. package/dist/index.d.ts +0 -46
  127. package/dist/index.js +0 -48
  128. package/dist/models/backend1/django_app/comprehensivemodel.d.ts +0 -894
  129. package/dist/models/backend1/django_app/comprehensivemodel.js +0 -71
  130. package/dist/models/backend1/django_app/comprehensivemodel.schema.json +0 -870
  131. package/dist/models/backend1/django_app/custompkmodel.d.ts +0 -92
  132. package/dist/models/backend1/django_app/custompkmodel.js +0 -69
  133. package/dist/models/backend1/django_app/custompkmodel.schema.json +0 -71
  134. package/dist/models/backend1/django_app/dailyrate.d.ts +0 -230
  135. package/dist/models/backend1/django_app/dailyrate.js +0 -71
  136. package/dist/models/backend1/django_app/dailyrate.schema.json +0 -212
  137. package/dist/models/backend1/django_app/deepmodellevel1.d.ts +0 -140
  138. package/dist/models/backend1/django_app/deepmodellevel1.js +0 -72
  139. package/dist/models/backend1/django_app/deepmodellevel1.schema.json +0 -114
  140. package/dist/models/backend1/django_app/deepmodellevel2.d.ts +0 -118
  141. package/dist/models/backend1/django_app/deepmodellevel2.js +0 -71
  142. package/dist/models/backend1/django_app/deepmodellevel2.schema.json +0 -92
  143. package/dist/models/backend1/django_app/deepmodellevel3.d.ts +0 -92
  144. package/dist/models/backend1/django_app/deepmodellevel3.js +0 -69
  145. package/dist/models/backend1/django_app/deepmodellevel3.schema.json +0 -69
  146. package/dist/models/backend1/django_app/dummymodel.d.ts +0 -134
  147. package/dist/models/backend1/django_app/dummymodel.js +0 -71
  148. package/dist/models/backend1/django_app/dummymodel.schema.json +0 -109
  149. package/dist/models/backend1/django_app/dummyrelatedmodel.d.ts +0 -92
  150. package/dist/models/backend1/django_app/dummyrelatedmodel.js +0 -69
  151. package/dist/models/backend1/django_app/dummyrelatedmodel.schema.json +0 -69
  152. package/dist/models/backend1/django_app/filetest.d.ts +0 -140
  153. package/dist/models/backend1/django_app/filetest.js +0 -69
  154. package/dist/models/backend1/django_app/filetest.schema.json +0 -111
  155. package/dist/models/backend1/django_app/index.d.ts +0 -1
  156. package/dist/models/backend1/django_app/index.js +0 -21
  157. package/dist/models/backend1/django_app/m2mdepthtestlevel1.d.ts +0 -118
  158. package/dist/models/backend1/django_app/m2mdepthtestlevel1.js +0 -71
  159. package/dist/models/backend1/django_app/m2mdepthtestlevel1.schema.json +0 -94
  160. package/dist/models/backend1/django_app/m2mdepthtestlevel2.d.ts +0 -118
  161. package/dist/models/backend1/django_app/m2mdepthtestlevel2.js +0 -71
  162. package/dist/models/backend1/django_app/m2mdepthtestlevel2.schema.json +0 -94
  163. package/dist/models/backend1/django_app/m2mdepthtestlevel3.d.ts +0 -134
  164. package/dist/models/backend1/django_app/m2mdepthtestlevel3.js +0 -71
  165. package/dist/models/backend1/django_app/m2mdepthtestlevel3.schema.json +0 -112
  166. package/dist/models/backend1/django_app/modelwithcustompkrelation.d.ts +0 -118
  167. package/dist/models/backend1/django_app/modelwithcustompkrelation.js +0 -71
  168. package/dist/models/backend1/django_app/modelwithcustompkrelation.schema.json +0 -93
  169. package/dist/models/backend1/django_app/modelwithrestrictedfields.d.ts +0 -134
  170. package/dist/models/backend1/django_app/modelwithrestrictedfields.js +0 -71
  171. package/dist/models/backend1/django_app/modelwithrestrictedfields.schema.json +0 -111
  172. package/dist/models/backend1/django_app/namefiltercustompkmodel.d.ts +0 -92
  173. package/dist/models/backend1/django_app/namefiltercustompkmodel.js +0 -69
  174. package/dist/models/backend1/django_app/namefiltercustompkmodel.schema.json +0 -71
  175. package/dist/models/backend1/django_app/order.d.ts +0 -220
  176. package/dist/models/backend1/django_app/order.js +0 -71
  177. package/dist/models/backend1/django_app/order.schema.json +0 -203
  178. package/dist/models/backend1/django_app/orderitem.d.ts +0 -172
  179. package/dist/models/backend1/django_app/orderitem.js +0 -72
  180. package/dist/models/backend1/django_app/orderitem.schema.json +0 -149
  181. package/dist/models/backend1/django_app/product.d.ts +0 -254
  182. package/dist/models/backend1/django_app/product.js +0 -71
  183. package/dist/models/backend1/django_app/product.schema.json +0 -277
  184. package/dist/models/backend1/django_app/productcategory.d.ts +0 -92
  185. package/dist/models/backend1/django_app/productcategory.js +0 -69
  186. package/dist/models/backend1/django_app/productcategory.schema.json +0 -70
  187. package/dist/models/backend1/django_app/rateplan.d.ts +0 -92
  188. package/dist/models/backend1/django_app/rateplan.js +0 -69
  189. package/dist/models/backend1/django_app/rateplan.schema.json +0 -70
  190. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.d.ts +0 -108
  191. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.js +0 -69
  192. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.schema.json +0 -87
  193. package/dist/models/backend1/fileobject.d.ts +0 -4
  194. package/dist/models/backend1/fileobject.js +0 -9
  195. package/dist/models/backend1/index.d.ts +0 -2
  196. package/dist/models/backend1/index.js +0 -2
  197. package/dist/models/default/django_app/comprehensivemodel.d.ts +0 -894
  198. package/dist/models/default/django_app/comprehensivemodel.js +0 -71
  199. package/dist/models/default/django_app/comprehensivemodel.schema.json +0 -870
  200. package/dist/models/default/django_app/custompkmodel.d.ts +0 -92
  201. package/dist/models/default/django_app/custompkmodel.js +0 -69
  202. package/dist/models/default/django_app/custompkmodel.schema.json +0 -71
  203. package/dist/models/default/django_app/dailyrate.d.ts +0 -230
  204. package/dist/models/default/django_app/dailyrate.js +0 -71
  205. package/dist/models/default/django_app/dailyrate.schema.json +0 -212
  206. package/dist/models/default/django_app/deepmodellevel1.d.ts +0 -128
  207. package/dist/models/default/django_app/deepmodellevel1.js +0 -72
  208. package/dist/models/default/django_app/deepmodellevel1.schema.json +0 -102
  209. package/dist/models/default/django_app/deepmodellevel2.d.ts +0 -106
  210. package/dist/models/default/django_app/deepmodellevel2.js +0 -71
  211. package/dist/models/default/django_app/deepmodellevel2.schema.json +0 -80
  212. package/dist/models/default/django_app/deepmodellevel3.d.ts +0 -80
  213. package/dist/models/default/django_app/deepmodellevel3.js +0 -69
  214. package/dist/models/default/django_app/deepmodellevel3.schema.json +0 -57
  215. package/dist/models/default/django_app/dummymodel.d.ts +0 -122
  216. package/dist/models/default/django_app/dummymodel.js +0 -71
  217. package/dist/models/default/django_app/dummymodel.schema.json +0 -97
  218. package/dist/models/default/django_app/dummyrelatedmodel.d.ts +0 -80
  219. package/dist/models/default/django_app/dummyrelatedmodel.js +0 -69
  220. package/dist/models/default/django_app/dummyrelatedmodel.schema.json +0 -57
  221. package/dist/models/default/django_app/filetest.d.ts +0 -128
  222. package/dist/models/default/django_app/filetest.js +0 -69
  223. package/dist/models/default/django_app/filetest.schema.json +0 -99
  224. package/dist/models/default/django_app/index.d.ts +0 -1
  225. package/dist/models/default/django_app/index.js +0 -21
  226. package/dist/models/default/django_app/m2mdepthtestlevel1.d.ts +0 -118
  227. package/dist/models/default/django_app/m2mdepthtestlevel1.js +0 -71
  228. package/dist/models/default/django_app/m2mdepthtestlevel1.schema.json +0 -94
  229. package/dist/models/default/django_app/m2mdepthtestlevel2.d.ts +0 -118
  230. package/dist/models/default/django_app/m2mdepthtestlevel2.js +0 -71
  231. package/dist/models/default/django_app/m2mdepthtestlevel2.schema.json +0 -94
  232. package/dist/models/default/django_app/m2mdepthtestlevel3.d.ts +0 -134
  233. package/dist/models/default/django_app/m2mdepthtestlevel3.js +0 -71
  234. package/dist/models/default/django_app/m2mdepthtestlevel3.schema.json +0 -112
  235. package/dist/models/default/django_app/modelwithcustompkrelation.d.ts +0 -118
  236. package/dist/models/default/django_app/modelwithcustompkrelation.js +0 -71
  237. package/dist/models/default/django_app/modelwithcustompkrelation.schema.json +0 -93
  238. package/dist/models/default/django_app/modelwithrestrictedfields.d.ts +0 -134
  239. package/dist/models/default/django_app/modelwithrestrictedfields.js +0 -71
  240. package/dist/models/default/django_app/modelwithrestrictedfields.schema.json +0 -111
  241. package/dist/models/default/django_app/namefiltercustompkmodel.d.ts +0 -92
  242. package/dist/models/default/django_app/namefiltercustompkmodel.js +0 -69
  243. package/dist/models/default/django_app/namefiltercustompkmodel.schema.json +0 -71
  244. package/dist/models/default/django_app/order.d.ts +0 -220
  245. package/dist/models/default/django_app/order.js +0 -71
  246. package/dist/models/default/django_app/order.schema.json +0 -203
  247. package/dist/models/default/django_app/orderitem.d.ts +0 -172
  248. package/dist/models/default/django_app/orderitem.js +0 -72
  249. package/dist/models/default/django_app/orderitem.schema.json +0 -149
  250. package/dist/models/default/django_app/product.d.ts +0 -254
  251. package/dist/models/default/django_app/product.js +0 -71
  252. package/dist/models/default/django_app/product.schema.json +0 -277
  253. package/dist/models/default/django_app/productcategory.d.ts +0 -92
  254. package/dist/models/default/django_app/productcategory.js +0 -69
  255. package/dist/models/default/django_app/productcategory.schema.json +0 -70
  256. package/dist/models/default/django_app/rateplan.d.ts +0 -92
  257. package/dist/models/default/django_app/rateplan.js +0 -69
  258. package/dist/models/default/django_app/rateplan.schema.json +0 -70
  259. package/dist/models/default/django_app/restrictedfieldrelatedmodel.d.ts +0 -108
  260. package/dist/models/default/django_app/restrictedfieldrelatedmodel.js +0 -69
  261. package/dist/models/default/django_app/restrictedfieldrelatedmodel.schema.json +0 -87
  262. package/dist/models/default/fileobject.d.ts +0 -4
  263. package/dist/models/default/fileobject.js +0 -9
  264. package/dist/models/default/index.d.ts +0 -2
  265. package/dist/models/default/index.js +0 -2
  266. package/dist/models/index.d.ts +0 -1
  267. package/dist/models/index.js +0 -5
  268. package/dist/react-entry.d.ts +0 -2
  269. package/dist/react-entry.js +0 -2
  270. package/dist/reactiveAdaptor.d.ts +0 -24
  271. package/dist/reactiveAdaptor.js +0 -38
  272. package/dist/reset.d.ts +0 -15
  273. package/dist/reset.js +0 -97
  274. package/dist/setup.d.ts +0 -15
  275. package/dist/setup.js +0 -33
  276. package/dist/syncEngine/cache/cache.d.ts +0 -75
  277. package/dist/syncEngine/cache/cache.js +0 -355
  278. package/dist/syncEngine/metrics/metricOptCalcs.d.ts +0 -79
  279. package/dist/syncEngine/metrics/metricOptCalcs.js +0 -284
  280. package/dist/syncEngine/registries/metricRegistry.d.ts +0 -58
  281. package/dist/syncEngine/registries/metricRegistry.js +0 -171
  282. package/dist/syncEngine/registries/modelStoreRegistry.d.ts +0 -11
  283. package/dist/syncEngine/registries/modelStoreRegistry.js +0 -63
  284. package/dist/syncEngine/registries/querysetStoreGraph.d.ts +0 -41
  285. package/dist/syncEngine/registries/querysetStoreGraph.js +0 -174
  286. package/dist/syncEngine/registries/querysetStoreRegistry.d.ts +0 -72
  287. package/dist/syncEngine/registries/querysetStoreRegistry.js +0 -335
  288. package/dist/syncEngine/stores/metricStore.d.ts +0 -55
  289. package/dist/syncEngine/stores/metricStore.js +0 -222
  290. package/dist/syncEngine/stores/modelStore.d.ts +0 -53
  291. package/dist/syncEngine/stores/modelStore.js +0 -565
  292. package/dist/syncEngine/stores/operation.d.ts +0 -139
  293. package/dist/syncEngine/stores/operation.js +0 -291
  294. package/dist/syncEngine/stores/operationEventHandlers.d.ts +0 -8
  295. package/dist/syncEngine/stores/operationEventHandlers.js +0 -322
  296. package/dist/syncEngine/stores/querysetStore.d.ts +0 -60
  297. package/dist/syncEngine/stores/querysetStore.js +0 -294
  298. package/dist/syncEngine/stores/reactivity.d.ts +0 -3
  299. package/dist/syncEngine/stores/reactivity.js +0 -4
  300. package/dist/syncEngine/stores/utils.d.ts +0 -14
  301. package/dist/syncEngine/stores/utils.js +0 -32
  302. package/dist/syncEngine/sync.d.ts +0 -46
  303. package/dist/syncEngine/sync.js +0 -389
  304. package/dist/testing.d.ts +0 -63
  305. package/dist/testing.js +0 -175
  306. package/dist/vue-entry.d.ts +0 -15
  307. package/dist/vue-entry.js +0 -7
@@ -1,44 +0,0 @@
1
- import { computed, getCurrentInstance, onBeforeUnmount } from 'vue';
2
- import { querysetStoreRegistry } from '../../syncEngine/registries/querysetStoreRegistry.js';
3
- import { metricRegistry } from '../../syncEngine/registries/metricRegistry.js';
4
- import { syncManager } from '../../syncEngine/sync.js';
5
- import { registerAdapterReset } from '../../reset.js';
6
- import { v7 } from 'uuid';
7
- syncManager.followAllQuerysets = false;
8
- export const querysets = new Map(); // Map of composableId -> queryset
9
- function updateSyncManager() {
10
- // Get unique querysets from all active composables
11
- const uniqueQuerysets = new Set(querysets.values());
12
- syncManager.followedQuerysets = uniqueQuerysets;
13
- }
14
- export function useQueryset(querysetFactory) {
15
- const instance = getCurrentInstance();
16
- if (!instance) {
17
- throw new Error('useQueryset must be called within a component setup function');
18
- }
19
- const composableId = v7();
20
- let lastQueryset = null;
21
- onBeforeUnmount(() => {
22
- querysets.delete(composableId);
23
- updateSyncManager();
24
- });
25
- return computed(() => {
26
- const result = querysetFactory();
27
- const original = result?.original || result;
28
- const queryset = original?.queryset || original;
29
- // Only update if queryset actually changed
30
- if (lastQueryset !== queryset) {
31
- querysets.set(composableId, queryset);
32
- updateSyncManager();
33
- lastQueryset = queryset;
34
- }
35
- return result;
36
- });
37
- }
38
- registerAdapterReset(() => {
39
- querysets.clear();
40
- // Reset syncManager back to following all querysets since no composables are active
41
- syncManager.followAllQuerysets = true;
42
- syncManager.followedQuerysets.clear();
43
- console.log("Vue composables state cleared");
44
- });
@@ -1,3 +0,0 @@
1
- export { useQueryset, querysets } from "./composables.js";
2
- export { ModelAdaptor, QuerySetAdaptor, MetricAdaptor } from "./reactivity.js";
3
- export { LayoutRenderer, AlertElement, LabelElement, DividerElement, DisplayElement, GroupElement, TabsElement, ErrorBlock, createDefaultComponents } from "./components/index.js";
@@ -1,4 +0,0 @@
1
- export { useQueryset, querysets } from './composables.js';
2
- export { ModelAdaptor, QuerySetAdaptor, MetricAdaptor } from './reactivity.js';
3
- // Layout components
4
- export { LayoutRenderer, AlertElement, LabelElement, DividerElement, DisplayElement, GroupElement, TabsElement, ErrorBlock, createDefaultComponents } from './components/index.js';
@@ -1,18 +0,0 @@
1
- /**
2
- * Adapts a model instance to a Vue reactive object by directly wrapping
3
- * the instance and incrementing an internal version on relevant events.
4
- *
5
- * @param {Object} modelInstance - An instance of a model class with static modelName and primaryKeyField
6
- * @param {Function} [reactivityFn=reactive] - Which Vue reactivity function to use (reactive or ref)
7
- * @returns {import('vue').Reactive|import('vue').Ref} The reactive model instance, augmented with __version
8
- */
9
- export function ModelAdaptor(modelInstance: Object, reactivityFn?: Function): any | import("vue").Ref;
10
- /**
11
- * Adapts a queryset to a Vue reactive object and sets up event handling for queryset updates
12
- *
13
- * @param {Object} liveQuerySet - A LiveQueryset instance
14
- * @param {Function} [reactivityFn=reactive] - Which Vue reactivity function to use (reactive or ref)
15
- * @returns {import('vue').Reactive|import('vue').Ref} The reactive queryset
16
- */
17
- export function QuerySetAdaptor(liveQuerySet: Object, reactivityFn?: Function): any | import("vue").Ref;
18
- export function MetricAdaptor(metric: any): any;
@@ -1,132 +0,0 @@
1
- import { reactive, ref, nextTick } from "vue";
2
- import { modelEventEmitter, querysetEventEmitter, metricEventEmitter } from "../../syncEngine/stores/reactivity.js";
3
- import { initEventHandler } from "../../syncEngine/stores/operationEventHandlers.js";
4
- import { isEqual, isNil } from 'lodash-es';
5
- import hash from 'object-hash';
6
- import { registerAdapterReset } from "../../reset.js";
7
- initEventHandler();
8
- const wrappedQuerysetCache = new Map();
9
- const wrappedMetricCache = new Map();
10
- /**
11
- * Adapts a model instance to a Vue reactive object by directly wrapping
12
- * the instance and incrementing an internal version on relevant events.
13
- *
14
- * @param {Object} modelInstance - An instance of a model class with static modelName and primaryKeyField
15
- * @param {Function} [reactivityFn=reactive] - Which Vue reactivity function to use (reactive or ref)
16
- * @returns {import('vue').Reactive|import('vue').Ref} The reactive model instance, augmented with __version
17
- */
18
- export function ModelAdaptor(modelInstance, reactivityFn = reactive) {
19
- const modelClass = modelInstance.constructor;
20
- const modelName = modelClass.modelName;
21
- const configKey = modelClass.configKey;
22
- const pkField = modelClass.primaryKeyField;
23
- // Make the model instance reactive using the specified function
24
- const wrapper = reactivityFn(modelInstance);
25
- const eventName = `${configKey}::${modelName}::render`;
26
- // Handler bumps version to trigger Vue reactivity when this instance updates
27
- const renderHandler = (eventData) => {
28
- const isRef = reactivityFn === ref;
29
- const model = isRef ? wrapper.value : wrapper;
30
- const modelPk = model[pkField];
31
- // Check if this model's pk is in the event's pks array
32
- if (eventData.pks && eventData.pks.includes(modelPk)) {
33
- if (isRef) {
34
- wrapper.value.touch();
35
- }
36
- else {
37
- wrapper.touch();
38
- }
39
- }
40
- };
41
- // Subscribe to model events indefinitely
42
- modelEventEmitter.on(eventName, renderHandler);
43
- return wrapper;
44
- }
45
- /**
46
- * Adapts a queryset to a Vue reactive object and sets up event handling for queryset updates
47
- *
48
- * @param {Object} liveQuerySet - A LiveQueryset instance
49
- * @param {Function} [reactivityFn=reactive] - Which Vue reactivity function to use (reactive or ref)
50
- * @returns {import('vue').Reactive|import('vue').Ref} The reactive queryset
51
- */
52
- export function QuerySetAdaptor(liveQuerySet, reactivityFn = reactive) {
53
- const queryset = liveQuerySet?.queryset;
54
- const modelName = queryset?.ModelClass?.modelName;
55
- const configKey = queryset?.ModelClass?.configKey;
56
- if (isNil(queryset) || isNil(modelName)) {
57
- throw new Error(`liveQuerySet ${JSON.stringify(liveQuerySet)} had null qs: ${queryset} or model: ${modelName}`);
58
- }
59
- // Use the semantic key if available
60
- const cacheKey = queryset.semanticKey;
61
- // Check the cache first
62
- if (cacheKey && wrappedQuerysetCache.has(cacheKey)) {
63
- return wrappedQuerysetCache.get(cacheKey);
64
- }
65
- const querysetAst = queryset.build();
66
- // Make the queryset reactive using the specified function
67
- const wrapper = reactivityFn([...liveQuerySet]);
68
- wrapper.original = liveQuerySet;
69
- const eventName = `${configKey}::${modelName}::queryset::render`;
70
- // Handler bumps version to trigger Vue reactivity when this queryset updates
71
- const renderHandler = (eventData) => {
72
- if (eventData && eventData.ast && isEqual(querysetAst, eventData.ast)) {
73
- if (reactivityFn === ref) {
74
- wrapper.value = [...liveQuerySet];
75
- }
76
- else {
77
- wrapper.splice(0, wrapper.length);
78
- wrapper.push(...liveQuerySet);
79
- }
80
- }
81
- };
82
- // Subscribe to queryset events indefinitely
83
- querysetEventEmitter.on(eventName, renderHandler);
84
- /* Dont delete the innocuous looking queryset.length check. There is some weird interaction
85
- with vue, where when we load an empty queryset from the cache, the reactivity completely breaks.
86
- I wasted over 2 days on this bug, and it won't show up in the e2e tests because it just impacts the
87
- vue reactivity. If this causes performance issues, and needs to be refactored. Make sure you understand
88
- the vue reactivity interaction correctly and find a different way to fix the broken reactivity for empty querysets */
89
- if (cacheKey && liveQuerySet && liveQuerySet.length > 0) {
90
- wrappedQuerysetCache.set(cacheKey, wrapper);
91
- }
92
- return wrapper;
93
- }
94
- export function MetricAdaptor(metric) {
95
- const queryset = metric.queryset;
96
- const modelName = queryset?.ModelClass?.modelName;
97
- const configKey = queryset?.ModelClass?.configKey;
98
- const querysetAst = queryset.build();
99
- // Create a cache key based on metric properties
100
- // This combines model, metric type, field, and the queryset AST hash to ensure uniqueness
101
- const cacheKey = `${configKey}::${modelName}::${metric.metricType}::${metric.field}::${hash(querysetAst)}`;
102
- // Check the cache first
103
- if (cacheKey && wrappedMetricCache.has(cacheKey)) {
104
- return wrappedMetricCache.get(cacheKey);
105
- }
106
- // Create a reactive reference with the initial value
107
- const wrapper = ref(metric.value);
108
- wrapper.original = metric;
109
- // Single handler for metric render events
110
- const metricRenderHandler = (eventData) => {
111
- // Only update if this event is for our metric
112
- if (eventData.metricType === metric.metricType &&
113
- eventData.ModelClass === metric.queryset.ModelClass &&
114
- eventData.field === metric.field &&
115
- eventData.ast === hash(querysetAst) &&
116
- eventData.valueChanged === true) {
117
- // Update the wrapper value with the latest metric value
118
- wrapper.value = metric.value;
119
- }
120
- };
121
- // Only listen for metric render events
122
- metricEventEmitter.on('metric::render', metricRenderHandler);
123
- // Store in cache
124
- if (cacheKey) {
125
- wrappedMetricCache.set(cacheKey, wrapper);
126
- }
127
- return wrapper;
128
- }
129
- registerAdapterReset(() => {
130
- wrappedQuerysetCache.clear();
131
- wrappedMetricCache.clear();
132
- });
@@ -1,6 +0,0 @@
1
- /**
2
- * Executes a full synchronization, running sync-models first,
3
- * followed by sync-actions.
4
- * @param {object} args - Command-line arguments, passed from yargs.
5
- */
6
- export function sync(args?: object): Promise<void>;
@@ -1,30 +0,0 @@
1
- import { generateSchema } from "./syncModels.js";
2
- import { generateActions } from "./syncActions.js";
3
- /**
4
- * Executes a full synchronization, running sync-models first,
5
- * followed by sync-actions.
6
- * @param {object} args - Command-line arguments, passed from yargs.
7
- */
8
- export async function sync(args = {}) {
9
- try {
10
- console.log("šŸš€ Starting full synchronization...");
11
- // --- Step 1: Synchronize Models ---
12
- console.log("\n----- Running Model Synchronization -----");
13
- // Pass args down, as generateSchema expects an object
14
- await generateSchema(args);
15
- console.log("----- Model Synchronization Complete -----\n");
16
- // --- Step 2: Synchronize Actions ---
17
- console.log("----- Running Action Synchronization -----");
18
- // generateActions does not require args based on its definition
19
- await generateActions();
20
- console.log("----- Action Synchronization Complete -----\n");
21
- console.log("āœ… Full synchronization finished successfully!");
22
- }
23
- catch (error) {
24
- console.error("\nāŒ A critical error occurred during full synchronization:", error.message);
25
- if (process.env.DEBUG) {
26
- console.error("Stack trace:", error.stack);
27
- }
28
- process.exit(1);
29
- }
30
- }
@@ -1,46 +0,0 @@
1
- /**
2
- * CLI entry point.
3
- */
4
- export function generateActions(): Promise<void>;
5
- export type ActionProperty = {
6
- type: string;
7
- format?: string | undefined;
8
- required?: boolean | undefined;
9
- nullable?: boolean | undefined;
10
- default?: any;
11
- choices?: string[] | undefined;
12
- min_length?: number | undefined;
13
- max_length?: number | undefined;
14
- min_value?: number | undefined;
15
- max_value?: number | undefined;
16
- items?: ActionProperty | undefined;
17
- properties?: {
18
- [x: string]: ActionProperty;
19
- } | undefined;
20
- description?: string | undefined;
21
- };
22
- export type ActionDefinition = {
23
- action_name: string;
24
- title: string;
25
- class_name: string;
26
- /**
27
- * - The application group for the action.
28
- */
29
- app: string | null;
30
- /**
31
- * - The action's documentation string.
32
- */
33
- docstring: string | null;
34
- input_properties: {
35
- [x: string]: ActionProperty;
36
- };
37
- response_properties: {
38
- [x: string]: ActionProperty;
39
- };
40
- permissions: string[];
41
- };
42
- export type BackendConfig = {
43
- NAME: string;
44
- API_URL: string;
45
- GENERATED_ACTIONS_DIR: string;
46
- };