@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,204 +0,0 @@
1
- /**
2
- * @typedef {Object} SerializerOptions
3
- * @property {number} [depth] - How deep to serialize nested objects.
4
- * @property {string[]} [fields] - List of fields to include.
5
- * @property {number} [limit] - Maximum number of items to retrieve.
6
- * @property {number} [offset] - Offset for pagination.
7
- * @property {number} [overfetch] - Overfetch additional items.
8
- * @property {string} [namespace] - Custom namespace for real-time updates.
9
- */
10
- /**
11
- * Manager class providing helper methods to work with QuerySets and models.
12
- *
13
- * @class Manager
14
- */
15
- export class Manager {
16
- /**
17
- * Creates a new Manager.
18
- *
19
- * @param {Function} ModelClass - The model's constructor.
20
- * @param {Function} [QuerySetClass=QuerySet] - The QuerySet class to use.
21
- */
22
- constructor(ModelClass: Function, QuerySetClass?: Function);
23
- ModelClass: Function;
24
- QuerySetClass: Function;
25
- /**
26
- * Creates a new QuerySet instance.
27
- *
28
- * @returns {QuerySet} A new QuerySet instance for the model.
29
- */
30
- newQuerySet(): QuerySet<any>;
31
- /**
32
- * Retrieves a single model instance matching the provided filters.
33
- *
34
- * @param {Object} [filters] - The filters to apply.
35
- * @param {SerializerOptions} [serializerOptions] - Options for serialization.
36
- * @returns {Promise<Model>} A promise that resolves to the model instance.
37
- */
38
- get(filters?: Object, serializerOptions?: SerializerOptions): Promise<Model>;
39
- /**
40
- * Filters the QuerySet based on the provided conditions.
41
- *
42
- * @param {*} conditions - The filter conditions.
43
- * @returns {QuerySet} A new QuerySet instance with the filters applied.
44
- */
45
- filter(conditions: any): QuerySet<any>;
46
- /**
47
- * Excludes the specified conditions from the QuerySet.
48
- *
49
- * @param {*} conditions - The conditions to exclude.
50
- * @returns {QuerySet} A new QuerySet instance with the conditions excluded.
51
- */
52
- exclude(conditions: any): QuerySet<any>;
53
- /**
54
- * Returns a QuerySet representing all records.
55
- *
56
- * @returns {QuerySet} A new QuerySet instance.
57
- */
58
- all(): QuerySet<any>;
59
- /**
60
- * Returns a QuerySet that executes remotely without updating local stores.
61
- *
62
- * @returns {QuerySet} A remote-only QuerySet instance.
63
- */
64
- remote(): QuerySet<any>;
65
- /**
66
- * Deletes records in the QuerySet.
67
- *
68
- * @returns {Promise<[number, Object]>} A promise that resolves to an array where the first element is
69
- * the number of records deleted and the second is an object with details.
70
- */
71
- delete(): Promise<[number, Object]>;
72
- /**
73
- * Counts the number of records matching the current query.
74
- *
75
- * @param {string} [field] - Optional field to count (defaults to 'pk')
76
- * @returns {Promise<number>} A promise that resolves to the count
77
- */
78
- count(field?: string): Promise<number>;
79
- /**
80
- * Computes the sum of values for the specified field.
81
- *
82
- * @param {string} field - The field to sum
83
- * @returns {Promise<number>} A promise that resolves to the sum
84
- */
85
- sum(field: string): Promise<number>;
86
- /**
87
- * Computes the average value for the specified field.
88
- *
89
- * @param {string} field - The field to average
90
- * @returns {Promise<number>} A promise that resolves to the average
91
- */
92
- avg(field: string): Promise<number>;
93
- /**
94
- * Finds the minimum value for the specified field.
95
- *
96
- * @param {string} field - The field to find the minimum value for
97
- * @returns {Promise<any>} A promise that resolves to the minimum value
98
- */
99
- min(field: string): Promise<any>;
100
- /**
101
- * Finds the maximum value for the specified field.
102
- *
103
- * @param {string} field - The field to find the maximum value for
104
- * @returns {Promise<any>} A promise that resolves to the maximum value
105
- */
106
- max(field: string): Promise<any>;
107
- /**
108
- * Checks if any records exist that match the current query.
109
- *
110
- * @returns {Promise<boolean>} A promise that resolves to true if records exist, otherwise false
111
- */
112
- exists(): Promise<boolean>;
113
- /**
114
- * Orders the QuerySet by the provided fields.
115
- *
116
- * @param {...(string|any)} fields - The fields to order by. Supports nested paths and descending order
117
- * (prefix field with '-').
118
- * @returns {QuerySet} A new QuerySet instance with the order applied.
119
- */
120
- orderBy(...fields: (string | any)[]): QuerySet<any>;
121
- /**
122
- * Creates a new model instance using the provided data, then saves it.
123
- *
124
- * @param {*} data - The data to create the model instance.
125
- * @returns {Promise<*>} A promise that resolves to the newly created model instance.
126
- */
127
- create(data: any): Promise<any>;
128
- /**
129
- * Creates multiple model instances using the provided model instances.
130
- *
131
- * @param {Array<Model>} modelInstances - Array of unsaved model instances to create.
132
- * @returns {Promise<Array<*>>} A promise that resolves to an array of newly created model instances.
133
- */
134
- bulkCreate(modelInstances: Array<Model>): Promise<Array<any>>;
135
- /**
136
- * Fetches all records using the current QuerySet.
137
- *
138
- * @param {SerializerOptions} [serializerOptions] - Options for serialization.
139
- * @returns {Promise<Array<*>>} A promise that resolves to an array of model instances.
140
- */
141
- fetch(serializerOptions?: SerializerOptions): Promise<Array<any>>;
142
- /**
143
- * Retrieves or creates a model instance based on lookup fields and defaults.
144
- *
145
- * @param {*} lookupFields - The fields to lookup the model.
146
- * @param {Object} [defaults={}] - Default values to use when creating a new instance.
147
- * @returns {Promise<ResultTuple>} A promise that resolves to a ResultTuple containing the model instance
148
- * and a boolean indicating whether it was created.
149
- */
150
- getOrCreate(lookupFields: any, defaults?: Object): Promise<ResultTuple>;
151
- /**
152
- * Updates or creates a model instance based on lookup fields and defaults.
153
- *
154
- * @param {*} lookupFields - The fields to lookup the model.
155
- * @param {Object} [defaults={}] - Default values to use when updating or creating the instance.
156
- * @returns {Promise<ResultTuple>} A promise that resolves to a ResultTuple containing the model instance
157
- * and a boolean indicating whether it was created.
158
- */
159
- updateOrCreate(lookupFields: any, defaults?: Object): Promise<ResultTuple>;
160
- /**
161
- * Applies a search to the QuerySet using the specified search query and fields.
162
- *
163
- * @param {string} searchQuery - The search query.
164
- * @param {string[]} [searchFields] - The fields to search in.
165
- * @returns {QuerySet} A new QuerySet instance with the search applied.
166
- */
167
- search(searchQuery: string, searchFields?: string[]): QuerySet<any>;
168
- /**
169
- * Returns a QuerySet marked as optimistic-only, meaning operations will only
170
- * update local state without making backend API calls.
171
- *
172
- * @returns {QuerySet} A new QuerySet with optimistic-only mode enabled.
173
- */
174
- get optimistic(): QuerySet<any>;
175
- }
176
- export type SerializerOptions = {
177
- /**
178
- * - How deep to serialize nested objects.
179
- */
180
- depth?: number | undefined;
181
- /**
182
- * - List of fields to include.
183
- */
184
- fields?: string[] | undefined;
185
- /**
186
- * - Maximum number of items to retrieve.
187
- */
188
- limit?: number | undefined;
189
- /**
190
- * - Offset for pagination.
191
- */
192
- offset?: number | undefined;
193
- /**
194
- * - Overfetch additional items.
195
- */
196
- overfetch?: number | undefined;
197
- /**
198
- * - Custom namespace for real-time updates.
199
- */
200
- namespace?: string | undefined;
201
- };
202
- import { QuerySet } from './querySet.js';
203
- import { Model } from './model.js';
204
- import { ResultTuple } from './queryExecutor.js';
@@ -1,222 +0,0 @@
1
- import { QuerySet } from './querySet.js';
2
- import { Model } from './model.js';
3
- import { QueryExecutor, ResultTuple } from './queryExecutor.js';
4
- import axios from 'axios';
5
- /**
6
- * @typedef {Object} SerializerOptions
7
- * @property {number} [depth] - How deep to serialize nested objects.
8
- * @property {string[]} [fields] - List of fields to include.
9
- * @property {number} [limit] - Maximum number of items to retrieve.
10
- * @property {number} [offset] - Offset for pagination.
11
- * @property {number} [overfetch] - Overfetch additional items.
12
- * @property {string} [namespace] - Custom namespace for real-time updates.
13
- */
14
- /**
15
- * Manager class providing helper methods to work with QuerySets and models.
16
- *
17
- * @class Manager
18
- */
19
- export class Manager {
20
- /**
21
- * Creates a new Manager.
22
- *
23
- * @param {Function} ModelClass - The model's constructor.
24
- * @param {Function} [QuerySetClass=QuerySet] - The QuerySet class to use.
25
- */
26
- constructor(ModelClass, QuerySetClass = QuerySet) {
27
- this.ModelClass = ModelClass;
28
- this.QuerySetClass = QuerySetClass;
29
- }
30
- /**
31
- * Creates a new QuerySet instance.
32
- *
33
- * @returns {QuerySet} A new QuerySet instance for the model.
34
- */
35
- newQuerySet() {
36
- return new this.QuerySetClass(this.ModelClass);
37
- }
38
- /**
39
- * Retrieves a single model instance matching the provided filters.
40
- *
41
- * @param {Object} [filters] - The filters to apply.
42
- * @param {SerializerOptions} [serializerOptions] - Options for serialization.
43
- * @returns {Promise<Model>} A promise that resolves to the model instance.
44
- */
45
- async get(filters, serializerOptions) {
46
- return this.newQuerySet().get(filters, serializerOptions);
47
- }
48
- /**
49
- * Filters the QuerySet based on the provided conditions.
50
- *
51
- * @param {*} conditions - The filter conditions.
52
- * @returns {QuerySet} A new QuerySet instance with the filters applied.
53
- */
54
- filter(conditions) {
55
- return this.newQuerySet().filter(conditions);
56
- }
57
- /**
58
- * Excludes the specified conditions from the QuerySet.
59
- *
60
- * @param {*} conditions - The conditions to exclude.
61
- * @returns {QuerySet} A new QuerySet instance with the conditions excluded.
62
- */
63
- exclude(conditions) {
64
- return this.newQuerySet().exclude(conditions);
65
- }
66
- /**
67
- * Returns a QuerySet representing all records.
68
- *
69
- * @returns {QuerySet} A new QuerySet instance.
70
- */
71
- all() {
72
- return this.newQuerySet();
73
- }
74
- /**
75
- * Returns a QuerySet that executes remotely without updating local stores.
76
- *
77
- * @returns {QuerySet} A remote-only QuerySet instance.
78
- */
79
- remote() {
80
- return this.newQuerySet().remote();
81
- }
82
- /**
83
- * Deletes records in the QuerySet.
84
- *
85
- * @returns {Promise<[number, Object]>} A promise that resolves to an array where the first element is
86
- * the number of records deleted and the second is an object with details.
87
- */
88
- async delete() {
89
- return await QueryExecutor.execute(this.newQuerySet(), 'delete');
90
- }
91
- /**
92
- * Counts the number of records matching the current query.
93
- *
94
- * @param {string} [field] - Optional field to count (defaults to 'pk')
95
- * @returns {Promise<number>} A promise that resolves to the count
96
- */
97
- async count(field) {
98
- return await QueryExecutor.execute(this.newQuerySet(), 'count', { field });
99
- }
100
- /**
101
- * Computes the sum of values for the specified field.
102
- *
103
- * @param {string} field - The field to sum
104
- * @returns {Promise<number>} A promise that resolves to the sum
105
- */
106
- async sum(field) {
107
- return await QueryExecutor.execute(this.newQuerySet(), 'sum', { field });
108
- }
109
- /**
110
- * Computes the average value for the specified field.
111
- *
112
- * @param {string} field - The field to average
113
- * @returns {Promise<number>} A promise that resolves to the average
114
- */
115
- async avg(field) {
116
- return await QueryExecutor.execute(this.newQuerySet(), 'avg', { field });
117
- }
118
- /**
119
- * Finds the minimum value for the specified field.
120
- *
121
- * @param {string} field - The field to find the minimum value for
122
- * @returns {Promise<any>} A promise that resolves to the minimum value
123
- */
124
- async min(field) {
125
- return await QueryExecutor.execute(this.newQuerySet(), 'min', { field });
126
- }
127
- /**
128
- * Finds the maximum value for the specified field.
129
- *
130
- * @param {string} field - The field to find the maximum value for
131
- * @returns {Promise<any>} A promise that resolves to the maximum value
132
- */
133
- async max(field) {
134
- return await QueryExecutor.execute(this.newQuerySet(), 'max', { field });
135
- }
136
- /**
137
- * Checks if any records exist that match the current query.
138
- *
139
- * @returns {Promise<boolean>} A promise that resolves to true if records exist, otherwise false
140
- */
141
- async exists() {
142
- return await QueryExecutor.execute(this.newQuerySet(), 'exists');
143
- }
144
- /**
145
- * Orders the QuerySet by the provided fields.
146
- *
147
- * @param {...(string|any)} fields - The fields to order by. Supports nested paths and descending order
148
- * (prefix field with '-').
149
- * @returns {QuerySet} A new QuerySet instance with the order applied.
150
- */
151
- orderBy(...fields) {
152
- return this.newQuerySet().orderBy(...fields);
153
- }
154
- /**
155
- * Creates a new model instance using the provided data, then saves it.
156
- *
157
- * @param {*} data - The data to create the model instance.
158
- * @returns {Promise<*>} A promise that resolves to the newly created model instance.
159
- */
160
- async create(data) {
161
- return this.newQuerySet().create(data);
162
- }
163
- /**
164
- * Creates multiple model instances using the provided model instances.
165
- *
166
- * @param {Array<Model>} modelInstances - Array of unsaved model instances to create.
167
- * @returns {Promise<Array<*>>} A promise that resolves to an array of newly created model instances.
168
- */
169
- async bulkCreate(modelInstances) {
170
- return this.newQuerySet().bulkCreate(modelInstances);
171
- }
172
- /**
173
- * Fetches all records using the current QuerySet.
174
- *
175
- * @param {SerializerOptions} [serializerOptions] - Options for serialization.
176
- * @returns {Promise<Array<*>>} A promise that resolves to an array of model instances.
177
- */
178
- async fetch(serializerOptions) {
179
- return this.newQuerySet().fetch(serializerOptions);
180
- }
181
- /**
182
- * Retrieves or creates a model instance based on lookup fields and defaults.
183
- *
184
- * @param {*} lookupFields - The fields to lookup the model.
185
- * @param {Object} [defaults={}] - Default values to use when creating a new instance.
186
- * @returns {Promise<ResultTuple>} A promise that resolves to a ResultTuple containing the model instance
187
- * and a boolean indicating whether it was created.
188
- */
189
- async getOrCreate(lookupFields, defaults = {}) {
190
- return this.newQuerySet().getOrCreate(lookupFields, defaults);
191
- }
192
- /**
193
- * Updates or creates a model instance based on lookup fields and defaults.
194
- *
195
- * @param {*} lookupFields - The fields to lookup the model.
196
- * @param {Object} [defaults={}] - Default values to use when updating or creating the instance.
197
- * @returns {Promise<ResultTuple>} A promise that resolves to a ResultTuple containing the model instance
198
- * and a boolean indicating whether it was created.
199
- */
200
- async updateOrCreate(lookupFields, defaults = {}) {
201
- return this.newQuerySet().updateOrCreate(lookupFields, defaults);
202
- }
203
- /**
204
- * Applies a search to the QuerySet using the specified search query and fields.
205
- *
206
- * @param {string} searchQuery - The search query.
207
- * @param {string[]} [searchFields] - The fields to search in.
208
- * @returns {QuerySet} A new QuerySet instance with the search applied.
209
- */
210
- search(searchQuery, searchFields) {
211
- return this.newQuerySet().search(searchQuery, searchFields);
212
- }
213
- /**
214
- * Returns a QuerySet marked as optimistic-only, meaning operations will only
215
- * update local state without making backend API calls.
216
- *
217
- * @returns {QuerySet} A new QuerySet with optimistic-only mode enabled.
218
- */
219
- get optimistic() {
220
- return this.newQuerySet()._optimistic();
221
- }
222
- }
@@ -1,137 +0,0 @@
1
- /**
2
- * A constructor for a Model.
3
- *
4
- * @typedef {Function} ModelConstructor
5
- * @param {any} data - Data to initialize the model.
6
- * @returns {Model}
7
- *
8
- * @property {Manager} objects - The model's manager.
9
- * @property {string} configKey - The configuration key.
10
- * @property {string} modelName - The model name.
11
- * @property {string} primaryKeyField - The primary key field (default 'id').
12
- */
13
- /**
14
- * Base Model class with integrated API implementation.
15
- *
16
- * @abstract
17
- */
18
- export class Model {
19
- /**
20
- * Creates a new Model instance.
21
- *
22
- * @param {any} [data={}] - The data for initialization.
23
- */
24
- static instanceCache: Map<any, any>;
25
- /**
26
- * Remote-only manager that skips local store updates.
27
- */
28
- static get remote(): any;
29
- /**
30
- * Instantiate from pk using queryset scoped singletons
31
- */
32
- static fromPk(pk: any, querySet: any): any;
33
- /**
34
- * Validates that the provided data object only contains keys
35
- * defined in the model's allowed fields. Supports nested fields
36
- * using double underscore notation (e.g., author__name).
37
- *
38
- * @param {Object} data - The object to validate.
39
- * @throws {ValidationError} If an unknown key is found.
40
- */
41
- static validateFields(data: Object): void;
42
- /**
43
- * Static method to validate data without creating an instance
44
- * @param {Object} data - Data to validate
45
- * @param {string} validateType - 'create' or 'update'
46
- * @param {boolean} partial - Whether to allow partial validation
47
- * @returns {Promise<boolean>} Promise that resolves to true if valid, throws error if invalid
48
- */
49
- static validate(data: Object, validateType?: string, partial?: boolean): Promise<boolean>;
50
- /**
51
- * Get field permissions for the current user (cached on the class)
52
- * @param {boolean} refresh - Force refresh the cached permissions
53
- * @returns {Promise<{visible_fields: string[], creatable_fields: string[], editable_fields: string[]}>}
54
- */
55
- static getFieldPermissions(refresh?: boolean): Promise<{
56
- visible_fields: string[];
57
- creatable_fields: string[];
58
- editable_fields: string[];
59
- }>;
60
- constructor(data?: {});
61
- serializer: ModelSerializer;
62
- _data: {};
63
- _pk: any;
64
- __version: number;
65
- touch(): void;
66
- /**
67
- * Sets the primary key of the model instance.
68
- *
69
- * @param {number|undefined} value - The new primary key value.
70
- */
71
- set pk(value: number | undefined);
72
- /**
73
- * Returns the primary key of the model instance.
74
- *
75
- * @returns {number|undefined} The primary key.
76
- */
77
- get pk(): number | undefined;
78
- /**
79
- * Gets a field value from the internal data store
80
- *
81
- * @param {string} field - The field name
82
- * @returns {any} The field value
83
- */
84
- getField(field: string): any;
85
- /**
86
- * Sets a field value in the internal data store
87
- *
88
- * @param {string} field - The field name
89
- * @param {any} value - The field value to set
90
- */
91
- setField(field: string, value: any): void;
92
- /**
93
- * Serializes the model instance.
94
- *
95
- * By default, it returns all enumerable own properties.
96
- * Subclasses should override this to return specific keys.
97
- *
98
- * @param {boolean} includeRepr - Whether to include the repr field (for caching). Default: false.
99
- * @returns {Object} The serialized model data.
100
- */
101
- serialize(includeRepr?: boolean): Object;
102
- /**
103
- * Saves the model instance by either creating a new record or updating an existing one.
104
- *
105
- * @returns {Promise<Model>} A promise that resolves to the updated model instance.
106
- */
107
- save(): Promise<Model>;
108
- /**
109
- * Deletes the instance from the database.
110
- *
111
- * Returns a tuple with the number of objects deleted and an object mapping
112
- * model names to the number of objects deleted, matching Django's behavior.
113
- *
114
- * @returns {Promise<[number, Object]>} A promise that resolves to the deletion result.
115
- * @throws {Error} If the instance has not been saved (no primary key).
116
- */
117
- delete(): Promise<[number, Object]>;
118
- /**
119
- * Refreshes the model instance with data from the database.
120
- *
121
- * @returns {Promise<void>} A promise that resolves when the instance has been refreshed.
122
- * @throws {Error} If the instance has not been saved (no primary key).
123
- */
124
- refreshFromDb(): Promise<void>;
125
- /**
126
- * Validates the model instance using the same serialize behavior as save()
127
- * @param {string} validateType - 'create' or 'update' (defaults to auto-detect)
128
- * @param {boolean} partial - Whether to allow partial validation
129
- * @returns {Promise<boolean>} Promise that resolves to true if valid, throws error if invalid
130
- */
131
- validate(validateType?: string, partial?: boolean): Promise<boolean>;
132
- }
133
- /**
134
- * A constructor for a Model.
135
- */
136
- export type ModelConstructor = Function;
137
- import { ModelSerializer } from "./serializers.js";