@statezero/core 0.2.38 → 0.2.40

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 (294) hide show
  1. package/dist/actions/backend1/django_app/calculate-hash.d.ts +57 -0
  2. package/dist/actions/backend1/django_app/calculate-hash.js +80 -0
  3. package/dist/actions/backend1/django_app/calculate-hash.schema.json +148 -0
  4. package/dist/actions/backend1/django_app/get-current-username.d.ts +29 -0
  5. package/dist/actions/backend1/django_app/get-current-username.js +65 -0
  6. package/dist/actions/backend1/django_app/get-current-username.schema.json +47 -0
  7. package/dist/actions/backend1/django_app/get-server-status.d.ts +38 -0
  8. package/dist/actions/backend1/django_app/get-server-status.js +68 -0
  9. package/dist/actions/backend1/django_app/get-server-status.schema.json +93 -0
  10. package/dist/actions/backend1/django_app/get-user-info.d.ts +44 -0
  11. package/dist/actions/backend1/django_app/get-user-info.js +70 -0
  12. package/dist/actions/backend1/django_app/get-user-info.schema.json +127 -0
  13. package/dist/actions/backend1/django_app/index.d.ts +1 -0
  14. package/dist/actions/backend1/django_app/index.js +6 -0
  15. package/dist/actions/backend1/django_app/process-data.d.ts +51 -0
  16. package/dist/actions/backend1/django_app/process-data.js +78 -0
  17. package/dist/actions/backend1/django_app/process-data.schema.json +117 -0
  18. package/dist/actions/backend1/django_app/send-notification.d.ts +55 -0
  19. package/dist/actions/backend1/django_app/send-notification.js +81 -0
  20. package/dist/actions/backend1/django_app/send-notification.schema.json +175 -0
  21. package/dist/actions/backend1/index.d.ts +1 -0
  22. package/dist/actions/backend1/index.js +1 -0
  23. package/dist/actions/default/django_app/calculate-hash.d.ts +57 -0
  24. package/dist/actions/default/django_app/calculate-hash.js +80 -0
  25. package/dist/actions/default/django_app/calculate-hash.schema.json +148 -0
  26. package/dist/actions/default/django_app/get-current-username.d.ts +29 -0
  27. package/dist/actions/default/django_app/get-current-username.js +65 -0
  28. package/dist/actions/default/django_app/get-current-username.schema.json +47 -0
  29. package/dist/actions/default/django_app/get-server-status.d.ts +38 -0
  30. package/dist/actions/default/django_app/get-server-status.js +68 -0
  31. package/dist/actions/default/django_app/get-server-status.schema.json +93 -0
  32. package/dist/actions/default/django_app/get-user-info.d.ts +44 -0
  33. package/dist/actions/default/django_app/get-user-info.js +70 -0
  34. package/dist/actions/default/django_app/get-user-info.schema.json +127 -0
  35. package/dist/actions/default/django_app/index.d.ts +1 -0
  36. package/dist/actions/default/django_app/index.js +6 -0
  37. package/dist/actions/default/django_app/process-data.d.ts +51 -0
  38. package/dist/actions/default/django_app/process-data.js +78 -0
  39. package/dist/actions/default/django_app/process-data.schema.json +117 -0
  40. package/dist/actions/default/django_app/send-notification.d.ts +55 -0
  41. package/dist/actions/default/django_app/send-notification.js +81 -0
  42. package/dist/actions/default/django_app/send-notification.schema.json +175 -0
  43. package/dist/actions/default/index.d.ts +1 -0
  44. package/dist/actions/default/index.js +1 -0
  45. package/dist/actions/index.d.ts +1 -0
  46. package/dist/actions/index.js +5 -0
  47. package/dist/adaptors/react/composables.d.ts +1 -0
  48. package/dist/adaptors/react/composables.js +4 -0
  49. package/dist/adaptors/react/index.d.ts +1 -0
  50. package/dist/adaptors/react/index.js +1 -0
  51. package/dist/adaptors/vue/components/LayoutRenderer.js +46 -49
  52. package/dist/adaptors/vue/components/defaults/index.d.ts +7 -0
  53. package/dist/adaptors/vue/components/defaults/index.js +31 -0
  54. package/dist/adaptors/vue/components/index.d.ts +1 -0
  55. package/dist/adaptors/vue/components/index.js +7 -0
  56. package/dist/adaptors/vue/composables.d.ts +2 -0
  57. package/dist/adaptors/vue/composables.js +44 -0
  58. package/dist/adaptors/vue/index.d.ts +3 -0
  59. package/dist/adaptors/vue/index.js +4 -0
  60. package/dist/adaptors/vue/reactivity.d.ts +18 -0
  61. package/dist/adaptors/vue/reactivity.js +132 -0
  62. package/dist/cli/commands/sync.d.ts +6 -0
  63. package/dist/cli/commands/sync.js +30 -0
  64. package/dist/cli/commands/syncActions.d.ts +46 -0
  65. package/dist/cli/commands/syncActions.js +717 -0
  66. package/dist/cli/commands/syncModels.d.ts +132 -0
  67. package/dist/cli/commands/syncModels.js +1120 -0
  68. package/dist/cli/configFileLoader.d.ts +10 -0
  69. package/dist/cli/configFileLoader.js +85 -0
  70. package/dist/cli/index.d.ts +2 -0
  71. package/dist/cli/index.js +22 -0
  72. package/dist/config.d.ts +57 -0
  73. package/dist/config.js +273 -0
  74. package/dist/core/eventReceivers.d.ts +185 -0
  75. package/dist/core/eventReceivers.js +266 -0
  76. package/dist/core/utils.d.ts +8 -0
  77. package/dist/core/utils.js +62 -0
  78. package/dist/errorHandler.d.ts +21 -0
  79. package/dist/errorHandler.js +27 -0
  80. package/dist/filtering/localFiltering.d.ts +110 -0
  81. package/dist/filtering/localFiltering.js +1080 -0
  82. package/dist/flavours/django/dates.d.ts +34 -0
  83. package/dist/flavours/django/dates.js +113 -0
  84. package/dist/flavours/django/errors.d.ts +138 -0
  85. package/dist/flavours/django/errors.js +195 -0
  86. package/dist/flavours/django/f.d.ts +6 -0
  87. package/dist/flavours/django/f.js +91 -0
  88. package/dist/flavours/django/files.d.ts +62 -0
  89. package/dist/flavours/django/files.js +355 -0
  90. package/dist/flavours/django/makeApiCall.d.ts +36 -0
  91. package/dist/flavours/django/makeApiCall.js +169 -0
  92. package/dist/flavours/django/manager.d.ts +204 -0
  93. package/dist/flavours/django/manager.js +222 -0
  94. package/dist/flavours/django/model.d.ts +137 -0
  95. package/dist/flavours/django/model.js +366 -0
  96. package/dist/flavours/django/operationFactory.d.ts +73 -0
  97. package/dist/flavours/django/operationFactory.js +248 -0
  98. package/dist/flavours/django/q.d.ts +70 -0
  99. package/dist/flavours/django/q.js +43 -0
  100. package/dist/flavours/django/queryExecutor.d.ts +149 -0
  101. package/dist/flavours/django/queryExecutor.js +590 -0
  102. package/dist/flavours/django/querySet.d.ts +301 -0
  103. package/dist/flavours/django/querySet.js +736 -0
  104. package/dist/flavours/django/serializers.d.ts +39 -0
  105. package/dist/flavours/django/serializers.js +296 -0
  106. package/dist/flavours/django/tempPk.d.ts +31 -0
  107. package/dist/flavours/django/tempPk.js +92 -0
  108. package/dist/flavours/django/utils.d.ts +19 -0
  109. package/dist/flavours/django/utils.js +29 -0
  110. package/dist/index.d.ts +46 -0
  111. package/dist/index.js +48 -0
  112. package/dist/models/backend1/django_app/comprehensivemodel.d.ts +894 -0
  113. package/dist/models/backend1/django_app/comprehensivemodel.js +71 -0
  114. package/dist/models/backend1/django_app/comprehensivemodel.schema.json +870 -0
  115. package/dist/models/backend1/django_app/custompkmodel.d.ts +92 -0
  116. package/dist/models/backend1/django_app/custompkmodel.js +69 -0
  117. package/dist/models/backend1/django_app/custompkmodel.schema.json +71 -0
  118. package/dist/models/backend1/django_app/dailyrate.d.ts +230 -0
  119. package/dist/models/backend1/django_app/dailyrate.js +71 -0
  120. package/dist/models/backend1/django_app/dailyrate.schema.json +212 -0
  121. package/dist/models/backend1/django_app/deepmodellevel1.d.ts +140 -0
  122. package/dist/models/backend1/django_app/deepmodellevel1.js +72 -0
  123. package/dist/models/backend1/django_app/deepmodellevel1.schema.json +114 -0
  124. package/dist/models/backend1/django_app/deepmodellevel2.d.ts +118 -0
  125. package/dist/models/backend1/django_app/deepmodellevel2.js +71 -0
  126. package/dist/models/backend1/django_app/deepmodellevel2.schema.json +92 -0
  127. package/dist/models/backend1/django_app/deepmodellevel3.d.ts +92 -0
  128. package/dist/models/backend1/django_app/deepmodellevel3.js +69 -0
  129. package/dist/models/backend1/django_app/deepmodellevel3.schema.json +69 -0
  130. package/dist/models/backend1/django_app/dummymodel.d.ts +134 -0
  131. package/dist/models/backend1/django_app/dummymodel.js +71 -0
  132. package/dist/models/backend1/django_app/dummymodel.schema.json +109 -0
  133. package/dist/models/backend1/django_app/dummyrelatedmodel.d.ts +92 -0
  134. package/dist/models/backend1/django_app/dummyrelatedmodel.js +69 -0
  135. package/dist/models/backend1/django_app/dummyrelatedmodel.schema.json +69 -0
  136. package/dist/models/backend1/django_app/filetest.d.ts +140 -0
  137. package/dist/models/backend1/django_app/filetest.js +69 -0
  138. package/dist/models/backend1/django_app/filetest.schema.json +111 -0
  139. package/dist/models/backend1/django_app/index.d.ts +1 -0
  140. package/dist/models/backend1/django_app/index.js +21 -0
  141. package/dist/models/backend1/django_app/m2mdepthtestlevel1.d.ts +118 -0
  142. package/dist/models/backend1/django_app/m2mdepthtestlevel1.js +71 -0
  143. package/dist/models/backend1/django_app/m2mdepthtestlevel1.schema.json +94 -0
  144. package/dist/models/backend1/django_app/m2mdepthtestlevel2.d.ts +118 -0
  145. package/dist/models/backend1/django_app/m2mdepthtestlevel2.js +71 -0
  146. package/dist/models/backend1/django_app/m2mdepthtestlevel2.schema.json +94 -0
  147. package/dist/models/backend1/django_app/m2mdepthtestlevel3.d.ts +134 -0
  148. package/dist/models/backend1/django_app/m2mdepthtestlevel3.js +71 -0
  149. package/dist/models/backend1/django_app/m2mdepthtestlevel3.schema.json +112 -0
  150. package/dist/models/backend1/django_app/modelwithcustompkrelation.d.ts +118 -0
  151. package/dist/models/backend1/django_app/modelwithcustompkrelation.js +71 -0
  152. package/dist/models/backend1/django_app/modelwithcustompkrelation.schema.json +93 -0
  153. package/dist/models/backend1/django_app/modelwithrestrictedfields.d.ts +134 -0
  154. package/dist/models/backend1/django_app/modelwithrestrictedfields.js +71 -0
  155. package/dist/models/backend1/django_app/modelwithrestrictedfields.schema.json +111 -0
  156. package/dist/models/backend1/django_app/namefiltercustompkmodel.d.ts +92 -0
  157. package/dist/models/backend1/django_app/namefiltercustompkmodel.js +69 -0
  158. package/dist/models/backend1/django_app/namefiltercustompkmodel.schema.json +71 -0
  159. package/dist/models/backend1/django_app/order.d.ts +220 -0
  160. package/dist/models/backend1/django_app/order.js +71 -0
  161. package/dist/models/backend1/django_app/order.schema.json +203 -0
  162. package/dist/models/backend1/django_app/orderitem.d.ts +172 -0
  163. package/dist/models/backend1/django_app/orderitem.js +72 -0
  164. package/dist/models/backend1/django_app/orderitem.schema.json +149 -0
  165. package/dist/models/backend1/django_app/product.d.ts +254 -0
  166. package/dist/models/backend1/django_app/product.js +71 -0
  167. package/dist/models/backend1/django_app/product.schema.json +277 -0
  168. package/dist/models/backend1/django_app/productcategory.d.ts +92 -0
  169. package/dist/models/backend1/django_app/productcategory.js +69 -0
  170. package/dist/models/backend1/django_app/productcategory.schema.json +70 -0
  171. package/dist/models/backend1/django_app/rateplan.d.ts +92 -0
  172. package/dist/models/backend1/django_app/rateplan.js +69 -0
  173. package/dist/models/backend1/django_app/rateplan.schema.json +70 -0
  174. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.d.ts +108 -0
  175. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.js +69 -0
  176. package/dist/models/backend1/django_app/restrictedfieldrelatedmodel.schema.json +87 -0
  177. package/dist/models/backend1/fileobject.d.ts +4 -0
  178. package/dist/models/backend1/fileobject.js +9 -0
  179. package/dist/models/backend1/index.d.ts +2 -0
  180. package/dist/models/backend1/index.js +2 -0
  181. package/dist/models/default/django_app/comprehensivemodel.d.ts +894 -0
  182. package/dist/models/default/django_app/comprehensivemodel.js +71 -0
  183. package/dist/models/default/django_app/comprehensivemodel.schema.json +870 -0
  184. package/dist/models/default/django_app/custompkmodel.d.ts +92 -0
  185. package/dist/models/default/django_app/custompkmodel.js +69 -0
  186. package/dist/models/default/django_app/custompkmodel.schema.json +71 -0
  187. package/dist/models/default/django_app/dailyrate.d.ts +230 -0
  188. package/dist/models/default/django_app/dailyrate.js +71 -0
  189. package/dist/models/default/django_app/dailyrate.schema.json +212 -0
  190. package/dist/models/default/django_app/deepmodellevel1.d.ts +128 -0
  191. package/dist/models/default/django_app/deepmodellevel1.js +72 -0
  192. package/dist/models/default/django_app/deepmodellevel1.schema.json +102 -0
  193. package/dist/models/default/django_app/deepmodellevel2.d.ts +106 -0
  194. package/dist/models/default/django_app/deepmodellevel2.js +71 -0
  195. package/dist/models/default/django_app/deepmodellevel2.schema.json +80 -0
  196. package/dist/models/default/django_app/deepmodellevel3.d.ts +80 -0
  197. package/dist/models/default/django_app/deepmodellevel3.js +69 -0
  198. package/dist/models/default/django_app/deepmodellevel3.schema.json +57 -0
  199. package/dist/models/default/django_app/dummymodel.d.ts +122 -0
  200. package/dist/models/default/django_app/dummymodel.js +71 -0
  201. package/dist/models/default/django_app/dummymodel.schema.json +97 -0
  202. package/dist/models/default/django_app/dummyrelatedmodel.d.ts +80 -0
  203. package/dist/models/default/django_app/dummyrelatedmodel.js +69 -0
  204. package/dist/models/default/django_app/dummyrelatedmodel.schema.json +57 -0
  205. package/dist/models/default/django_app/filetest.d.ts +128 -0
  206. package/dist/models/default/django_app/filetest.js +69 -0
  207. package/dist/models/default/django_app/filetest.schema.json +99 -0
  208. package/dist/models/default/django_app/index.d.ts +1 -0
  209. package/dist/models/default/django_app/index.js +21 -0
  210. package/dist/models/default/django_app/m2mdepthtestlevel1.d.ts +118 -0
  211. package/dist/models/default/django_app/m2mdepthtestlevel1.js +71 -0
  212. package/dist/models/default/django_app/m2mdepthtestlevel1.schema.json +94 -0
  213. package/dist/models/default/django_app/m2mdepthtestlevel2.d.ts +118 -0
  214. package/dist/models/default/django_app/m2mdepthtestlevel2.js +71 -0
  215. package/dist/models/default/django_app/m2mdepthtestlevel2.schema.json +94 -0
  216. package/dist/models/default/django_app/m2mdepthtestlevel3.d.ts +134 -0
  217. package/dist/models/default/django_app/m2mdepthtestlevel3.js +71 -0
  218. package/dist/models/default/django_app/m2mdepthtestlevel3.schema.json +112 -0
  219. package/dist/models/default/django_app/modelwithcustompkrelation.d.ts +118 -0
  220. package/dist/models/default/django_app/modelwithcustompkrelation.js +71 -0
  221. package/dist/models/default/django_app/modelwithcustompkrelation.schema.json +93 -0
  222. package/dist/models/default/django_app/modelwithrestrictedfields.d.ts +134 -0
  223. package/dist/models/default/django_app/modelwithrestrictedfields.js +71 -0
  224. package/dist/models/default/django_app/modelwithrestrictedfields.schema.json +111 -0
  225. package/dist/models/default/django_app/namefiltercustompkmodel.d.ts +92 -0
  226. package/dist/models/default/django_app/namefiltercustompkmodel.js +69 -0
  227. package/dist/models/default/django_app/namefiltercustompkmodel.schema.json +71 -0
  228. package/dist/models/default/django_app/order.d.ts +220 -0
  229. package/dist/models/default/django_app/order.js +71 -0
  230. package/dist/models/default/django_app/order.schema.json +203 -0
  231. package/dist/models/default/django_app/orderitem.d.ts +172 -0
  232. package/dist/models/default/django_app/orderitem.js +72 -0
  233. package/dist/models/default/django_app/orderitem.schema.json +149 -0
  234. package/dist/models/default/django_app/product.d.ts +254 -0
  235. package/dist/models/default/django_app/product.js +71 -0
  236. package/dist/models/default/django_app/product.schema.json +277 -0
  237. package/dist/models/default/django_app/productcategory.d.ts +92 -0
  238. package/dist/models/default/django_app/productcategory.js +69 -0
  239. package/dist/models/default/django_app/productcategory.schema.json +70 -0
  240. package/dist/models/default/django_app/rateplan.d.ts +92 -0
  241. package/dist/models/default/django_app/rateplan.js +69 -0
  242. package/dist/models/default/django_app/rateplan.schema.json +70 -0
  243. package/dist/models/default/django_app/restrictedfieldrelatedmodel.d.ts +108 -0
  244. package/dist/models/default/django_app/restrictedfieldrelatedmodel.js +69 -0
  245. package/dist/models/default/django_app/restrictedfieldrelatedmodel.schema.json +87 -0
  246. package/dist/models/default/fileobject.d.ts +4 -0
  247. package/dist/models/default/fileobject.js +9 -0
  248. package/dist/models/default/index.d.ts +2 -0
  249. package/dist/models/default/index.js +2 -0
  250. package/dist/models/index.d.ts +1 -0
  251. package/dist/models/index.js +5 -0
  252. package/dist/react-entry.d.ts +2 -0
  253. package/dist/react-entry.js +2 -0
  254. package/dist/reactiveAdaptor.d.ts +24 -0
  255. package/dist/reactiveAdaptor.js +38 -0
  256. package/dist/reset.d.ts +15 -0
  257. package/dist/reset.js +97 -0
  258. package/dist/setup.d.ts +15 -0
  259. package/dist/setup.js +33 -0
  260. package/dist/syncEngine/cache/cache.d.ts +75 -0
  261. package/dist/syncEngine/cache/cache.js +355 -0
  262. package/dist/syncEngine/metrics/metricOptCalcs.d.ts +79 -0
  263. package/dist/syncEngine/metrics/metricOptCalcs.js +284 -0
  264. package/dist/syncEngine/registries/metricRegistry.d.ts +58 -0
  265. package/dist/syncEngine/registries/metricRegistry.js +171 -0
  266. package/dist/syncEngine/registries/modelStoreRegistry.d.ts +11 -0
  267. package/dist/syncEngine/registries/modelStoreRegistry.js +63 -0
  268. package/dist/syncEngine/registries/querysetStoreGraph.d.ts +41 -0
  269. package/dist/syncEngine/registries/querysetStoreGraph.js +174 -0
  270. package/dist/syncEngine/registries/querysetStoreRegistry.d.ts +72 -0
  271. package/dist/syncEngine/registries/querysetStoreRegistry.js +335 -0
  272. package/dist/syncEngine/stores/metricStore.d.ts +55 -0
  273. package/dist/syncEngine/stores/metricStore.js +222 -0
  274. package/dist/syncEngine/stores/modelStore.d.ts +53 -0
  275. package/dist/syncEngine/stores/modelStore.js +565 -0
  276. package/dist/syncEngine/stores/operation.d.ts +139 -0
  277. package/dist/syncEngine/stores/operation.js +291 -0
  278. package/dist/syncEngine/stores/operationEventHandlers.d.ts +8 -0
  279. package/dist/syncEngine/stores/operationEventHandlers.js +348 -0
  280. package/dist/syncEngine/stores/querysetStore.d.ts +60 -0
  281. package/dist/syncEngine/stores/querysetStore.js +294 -0
  282. package/dist/syncEngine/stores/reactivity.d.ts +3 -0
  283. package/dist/syncEngine/stores/reactivity.js +4 -0
  284. package/dist/syncEngine/stores/utils.d.ts +14 -0
  285. package/dist/syncEngine/stores/utils.js +32 -0
  286. package/dist/syncEngine/sync.d.ts +51 -0
  287. package/dist/syncEngine/sync.js +419 -0
  288. package/dist/testing.d.ts +63 -0
  289. package/dist/testing.js +175 -0
  290. package/dist/vue-entry.d.ts +15 -0
  291. package/dist/vue-entry.js +7 -0
  292. package/package.json +6 -7
  293. package/dist/adaptors/vue/components/layout.tailwind.css +0 -51
  294. /package/{dist → src}/adaptors/vue/components/layout.css +0 -0
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Minimal type definitions for field lookups.
3
+ *
4
+ * @template T
5
+ * @typedef {Object.<string, any>} FieldLookup
6
+ */
7
+ /**
8
+ * Minimal type definitions for object lookups.
9
+ *
10
+ * @template T
11
+ * @typedef {Object.<string, any>} ObjectLookup
12
+ */
13
+ /**
14
+ * Django-specific Q helper type.
15
+ *
16
+ * A QCondition is either a partial object of type T or a combination
17
+ * of partial field and object lookups.
18
+ *
19
+ * @template T
20
+ * @typedef {Partial<T> | (Partial<FieldLookup<T>> & Partial<ObjectLookup<T>>)} QCondition
21
+ */
22
+ /**
23
+ * Django-specific Q helper type representing a logical grouping of conditions.
24
+ *
25
+ * @template T
26
+ * @typedef {Object} QObject
27
+ * @property {'AND'|'OR'} operator - The logical operator.
28
+ * @property {Array<QCondition<T>|QObject<T>>} conditions - An array of conditions or nested Q objects.
29
+ */
30
+ /**
31
+ * Creates a Q object for combining conditions.
32
+ *
33
+ * @template T
34
+ * @param {'AND'|'OR'} operator - The operator to combine conditions.
35
+ * @param {...(QCondition<T>|QObject<T>)} conditions - The conditions to combine.
36
+ * @returns {QObject<T>} The combined Q object.
37
+ */
38
+ export function Q<T>(operator: "AND" | "OR", ...conditions: (QCondition<T> | QObject<T>)[]): QObject<T>;
39
+ /**
40
+ * Minimal type definitions for field lookups.
41
+ */
42
+ export type FieldLookup<T> = {
43
+ [x: string]: any;
44
+ };
45
+ /**
46
+ * Minimal type definitions for object lookups.
47
+ */
48
+ export type ObjectLookup<T> = {
49
+ [x: string]: any;
50
+ };
51
+ /**
52
+ * Django-specific Q helper type.
53
+ *
54
+ * A QCondition is either a partial object of type T or a combination
55
+ * of partial field and object lookups.
56
+ */
57
+ export type QCondition<T> = Partial<T> | (Partial<FieldLookup<T>> & Partial<ObjectLookup<T>>);
58
+ /**
59
+ * Django-specific Q helper type representing a logical grouping of conditions.
60
+ */
61
+ export type QObject<T> = {
62
+ /**
63
+ * - The logical operator.
64
+ */
65
+ operator: "AND" | "OR";
66
+ /**
67
+ * - An array of conditions or nested Q objects.
68
+ */
69
+ conditions: Array<QCondition<T> | QObject<T>>;
70
+ };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Minimal type definitions for field lookups.
3
+ *
4
+ * @template T
5
+ * @typedef {Object.<string, any>} FieldLookup
6
+ */
7
+ /**
8
+ * Minimal type definitions for object lookups.
9
+ *
10
+ * @template T
11
+ * @typedef {Object.<string, any>} ObjectLookup
12
+ */
13
+ /**
14
+ * Django-specific Q helper type.
15
+ *
16
+ * A QCondition is either a partial object of type T or a combination
17
+ * of partial field and object lookups.
18
+ *
19
+ * @template T
20
+ * @typedef {Partial<T> | (Partial<FieldLookup<T>> & Partial<ObjectLookup<T>>)} QCondition
21
+ */
22
+ /**
23
+ * Django-specific Q helper type representing a logical grouping of conditions.
24
+ *
25
+ * @template T
26
+ * @typedef {Object} QObject
27
+ * @property {'AND'|'OR'} operator - The logical operator.
28
+ * @property {Array<QCondition<T>|QObject<T>>} conditions - An array of conditions or nested Q objects.
29
+ */
30
+ /**
31
+ * Creates a Q object for combining conditions.
32
+ *
33
+ * @template T
34
+ * @param {'AND'|'OR'} operator - The operator to combine conditions.
35
+ * @param {...(QCondition<T>|QObject<T>)} conditions - The conditions to combine.
36
+ * @returns {QObject<T>} The combined Q object.
37
+ */
38
+ export function Q(operator, ...conditions) {
39
+ return {
40
+ operator,
41
+ conditions,
42
+ };
43
+ }
@@ -0,0 +1,149 @@
1
+ /**
2
+ * A custom data structure that behaves as an augmented array.
3
+ * It stores [instance, created] and also provides named properties for clarity.
4
+ *
5
+ * @class ResultTuple
6
+ * @extends {Array}
7
+ */
8
+ export class ResultTuple extends Array<any> {
9
+ /**
10
+ * Creates a new ResultTuple.
11
+ *
12
+ * @param {*} instance - The model instance.
13
+ * @param {boolean} created - Whether the instance was created.
14
+ */
15
+ constructor(instance: any, created: boolean);
16
+ 0: any;
17
+ 1: boolean;
18
+ instance: any;
19
+ created: boolean;
20
+ }
21
+ /**
22
+ * Handles query execution against the backend, and parsing the response into the correct format.
23
+ */
24
+ export class QueryExecutor {
25
+ /**
26
+ * Executes a get operation (get, first, last) with the QuerySet.
27
+ *
28
+ * @param {QuerySet} querySet - The QuerySet to execute.
29
+ * @param {string} operationType - The specific get operation type.
30
+ * @param {Object} args - Additional arguments for the operation.
31
+ * @returns {Promise<Object>} The model instance.
32
+ */
33
+ static executeGet(querySet: QuerySet, operationType: string, args?: Object): Promise<Object>;
34
+ /**
35
+ * Execute a list-style API call for the given QuerySet, update the in‑memory store with the returned primary keys,
36
+ * process any included entities, and return a live‑thenable that keeps the local "live" collection in sync.
37
+ *
38
+ * @template T The model type of the QuerySet
39
+ * @param {QuerySet<T>} qs
40
+ * The QuerySet to execute.
41
+ * @param {string} [op="list"]
42
+ * The operation to perform. Defaults to `"list"`, but could be overridden for other list‑style endpoints.
43
+ * @param {Object} [args={}]
44
+ * Additional arguments to pass through to the underlying API call (e.g. filters, pagination).
45
+ * @returns {LiveThenable<import('./makeLiveThenable').Result<T[]>>}
46
+ * A live‑thenable wrapping an array of primary‑key values for the fetched models. The live part remains
47
+ * synchronized with the in‑memory store.
48
+ */
49
+ static executeList<T>(qs: QuerySet<T>, op?: string, args?: Object): LiveThenable<any>;
50
+ /**
51
+ * Executes a get_or_create or update_or_create operation with the QuerySet.
52
+ *
53
+ * @param {QuerySet} querySet - The QuerySet to execute.
54
+ * @param {string} operationType - The specific operation type ('get_or_create' or 'update_or_create').
55
+ * @param {Object} args - Additional arguments for the operation.
56
+ * @returns {Promise<ResultTuple>} Tuple with instance and created flag.
57
+ */
58
+ static executeOrCreate(querySet: QuerySet, operationType: string, args?: Object): Promise<ResultTuple>;
59
+ /**
60
+ * Executes an aggregation operation with the QuerySet.
61
+ *
62
+ * @param {QuerySet} querySet - The QuerySet to execute.
63
+ * @param {string} operationType - The specific aggregation operation type.
64
+ * @param {Object} args - Additional arguments for the operation.
65
+ * @returns {LiveMetric} The LiveMetric instance that updates optimistically.
66
+ */
67
+ static executeAgg(querySet: QuerySet, operationType: string, args?: Object): LiveMetric;
68
+ /**
69
+ * Executes an exists operation with the QuerySet.
70
+ *
71
+ * @param {QuerySet} querySet - The QuerySet to execute.
72
+ * @param {string} operationType - The operation type (always 'exists' for this method).
73
+ * @param {Object} args - Additional arguments for the operation.
74
+ * @returns {Promise<boolean>} Whether records exist.
75
+ */
76
+ static executeExists(querySet: QuerySet, operationType?: string, args?: Object): Promise<boolean>;
77
+ /**
78
+ * Executes an update operation with the QuerySet.
79
+ *
80
+ * @param {QuerySet} querySet - The QuerySet to execute.
81
+ * @param {string} operationType - The operation type (always 'update' for this method).
82
+ * @param {Object} args - Additional arguments for the operation.
83
+ * @returns {Promise<Array>} Tuple with count and model counts map.
84
+ */
85
+ static executeUpdate(querySet: QuerySet, operationType?: string, args?: Object): Promise<any[]>;
86
+ /**
87
+ * Executes a delete operation with the QuerySet.
88
+ *
89
+ * @param {QuerySet} querySet - The QuerySet to execute.
90
+ * @param {string} operationType - The operation type (always 'delete' for this method).
91
+ * @param {Object} args - Additional arguments for the operation.
92
+ * @returns {Promise<Array>} Tuple with count and model counts map.
93
+ */
94
+ static executeDelete(querySet: QuerySet, operationType?: string, args?: Object): Promise<any[]>;
95
+ /**
96
+ * Executes a create operation with the QuerySet.
97
+ *
98
+ * @param {QuerySet} querySet - The QuerySet to execute.
99
+ * @param {string} operationType - The operation type (always 'create' for this method).
100
+ * @param {Object} args - Additional arguments for the operation.
101
+ * @returns {LiveThenable<Object>} The live Model instance which resolves to the created model.
102
+ */
103
+ static executeCreate(querySet: QuerySet, operationType?: string, args?: Object): LiveThenable<Object>;
104
+ /**
105
+ * Executes a bulk_create operation with the QuerySet.
106
+ *
107
+ * @param {QuerySet} querySet - The QuerySet to execute.
108
+ * @param {string} operationType - The operation type (always 'bulk_create' for this method).
109
+ * @param {Object} args - Additional arguments for the operation.
110
+ * @returns {LiveThenable<Array>} Array of live Model instances.
111
+ */
112
+ static executeBulkCreate(querySet: QuerySet, operationType?: string, args?: Object): LiveThenable<any[]>;
113
+ /**
114
+ * Executes an update_instance operation with the QuerySet.
115
+ *
116
+ * @param {QuerySet} querySet - The QuerySet to execute.
117
+ * @param {string} operationType - The operation type (always 'update_instance' for this method).
118
+ * @param {Object} args - Additional arguments for the operation.
119
+ * @returns {LiveThenable<Object>} The live Model instance which resolves to the updated model.
120
+ */
121
+ static executeUpdateInstance(querySet: QuerySet, operationType?: string, args?: Object): LiveThenable<Object>;
122
+ /**
123
+ * Executes a delete_instance operation with the QuerySet.
124
+ *
125
+ * @param {QuerySet} querySet - The QuerySet to execute.
126
+ * @param {string} operationType - The operation type (always 'delete_instance' for this method).
127
+ * @param {Object} args - Additional arguments for the operation, including the primary key.
128
+ * @returns {LiveThenable<Array>} A live‑thenable resolving to [deletedCount, { modelName: deletedCount }].
129
+ */
130
+ static executeDeleteInstance(querySet: QuerySet, operationType?: string, args?: Object): LiveThenable<any[]>;
131
+ /**
132
+ * Executes a query operation with the QuerySet.
133
+ *
134
+ * @param {QuerySet} querySet - The QuerySet to execute.
135
+ * @param {string} operationType - The operation type to perform.
136
+ * @param {Object} args - Additional arguments for the operation.
137
+ * @returns {Promise<any>} The operation result.
138
+ */
139
+ static execute(querySet: QuerySet, operationType?: string, args?: Object): Promise<any>;
140
+ /**
141
+ * Executes a query operation remotely without updating local stores.
142
+ *
143
+ * @param {QuerySet} querySet - The QuerySet to execute.
144
+ * @param {string} operationType - The operation type to perform.
145
+ * @param {Object} args - Additional arguments for the operation.
146
+ * @returns {Promise<any>} The raw API response data.
147
+ */
148
+ static executeRemote(querySet: QuerySet, operationType?: string, args?: Object): Promise<any>;
149
+ }