remult 0.21.1 → 0.22.0

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 (451) hide show
  1. package/README.md +47 -46
  2. package/SseSubscriptionServer.js +9 -9
  3. package/ably.js +1 -1
  4. package/esm/SseSubscriptionServer.js +11 -11
  5. package/esm/ably.js +2 -2
  6. package/esm/angular/interfaces/index.d.ts +1 -0
  7. package/esm/angular/interfaces/index.js +1 -0
  8. package/esm/angular/interfaces/src/column-collection.d.ts +70 -0
  9. package/esm/angular/interfaces/src/column-collection.js +341 -0
  10. package/esm/angular/interfaces/src/data-area-settings.d.ts +15 -0
  11. package/esm/angular/interfaces/src/data-area-settings.js +35 -0
  12. package/esm/angular/interfaces/src/data-control-interfaces.d.ts +36 -0
  13. package/esm/angular/interfaces/src/data-control-interfaces.js +57 -0
  14. package/esm/angular/interfaces/src/dataList.d.ts +13 -0
  15. package/esm/angular/interfaces/src/dataList.js +42 -0
  16. package/esm/angular/interfaces/src/filter-helper.d.ts +13 -0
  17. package/esm/angular/interfaces/src/filter-helper.js +59 -0
  18. package/esm/angular/interfaces/src/grid-settings.d.ts +145 -0
  19. package/esm/angular/interfaces/src/grid-settings.js +387 -0
  20. package/esm/angular/interfaces/src/public_api.d.ts +4 -0
  21. package/esm/angular/interfaces/src/public_api.js +4 -0
  22. package/esm/angular/src/angular/RemultAngularPluginsService.d.ts +4 -0
  23. package/esm/angular/src/angular/RemultAngularPluginsService.js +3 -0
  24. package/esm/angular/src/angular/data-control/data-control2.component.d.ts +49 -0
  25. package/esm/angular/src/angular/data-control/data-control2.component.js +138 -0
  26. package/esm/core/SseSubscriptionServer.d.ts +33 -0
  27. package/esm/core/SseSubscriptionServer.js +107 -0
  28. package/esm/core/assign.d.ts +1 -0
  29. package/esm/core/assign.js +5 -0
  30. package/esm/core/classType.d.ts +3 -0
  31. package/esm/core/classType.js +1 -0
  32. package/esm/core/index.d.ts +27 -0
  33. package/esm/core/index.js +25 -0
  34. package/esm/core/inputTypes.d.ts +9 -0
  35. package/esm/core/inputTypes.js +9 -0
  36. package/esm/core/live-query/data-provider-live-query-storage.d.ts +22 -0
  37. package/esm/core/live-query/data-provider-live-query-storage.js +71 -0
  38. package/esm/core/postgres/index.d.ts +2 -0
  39. package/esm/core/postgres/index.js +2 -0
  40. package/esm/core/postgres/postgres-data-provider.d.ts +36 -0
  41. package/esm/core/postgres/postgres-data-provider.js +120 -0
  42. package/esm/core/postgres/schema-builder.d.ts +17 -0
  43. package/esm/core/postgres/schema-builder.js +153 -0
  44. package/esm/core/remult-fresh.d.ts +17 -0
  45. package/esm/core/remult-fresh.js +29 -0
  46. package/esm/core/remult-knex/index.d.ts +30 -0
  47. package/esm/core/remult-knex/index.js +446 -0
  48. package/esm/core/remult-mongo.d.ts +24 -0
  49. package/esm/core/remult-mongo.js +254 -0
  50. package/esm/core/server/JsonEntityFileStorage.d.ts +10 -0
  51. package/esm/core/server/JsonEntityFileStorage.js +25 -0
  52. package/esm/core/server/core.d.ts +4 -0
  53. package/esm/core/server/core.js +4 -0
  54. package/esm/core/server/expressBridge.d.ts +182 -0
  55. package/esm/core/server/expressBridge.js +938 -0
  56. package/esm/core/server/index.d.ts +6 -0
  57. package/esm/core/server/index.js +9 -0
  58. package/esm/core/server/initAsyncHooks.d.ts +1 -0
  59. package/esm/core/server/initAsyncHooks.js +9 -0
  60. package/esm/core/server/initDataProvider.d.ts +2 -0
  61. package/esm/core/server/initDataProvider.js +14 -0
  62. package/esm/core/src/__EntityValueProvider.d.ts +11 -0
  63. package/esm/core/src/__EntityValueProvider.js +1 -0
  64. package/esm/core/src/__RowsOfDataForTesting.d.ts +3 -0
  65. package/esm/core/src/__RowsOfDataForTesting.js +1 -0
  66. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +6 -0
  67. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +147 -0
  68. package/esm/core/src/backend-tests/my-test.backend-spec.d.ts +1 -0
  69. package/esm/core/src/backend-tests/my-test.backend-spec.js +197 -0
  70. package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +1 -0
  71. package/esm/core/src/backend-tests/test-http-server.backend-spec.js +167 -0
  72. package/esm/core/src/buildRestDataProvider.d.ts +31 -0
  73. package/esm/core/src/buildRestDataProvider.js +113 -0
  74. package/esm/core/src/column-interfaces.d.ts +154 -0
  75. package/esm/core/src/column-interfaces.js +7 -0
  76. package/esm/core/src/column.d.ts +58 -0
  77. package/esm/core/src/column.js +174 -0
  78. package/esm/core/src/context.d.ts +134 -0
  79. package/esm/core/src/context.js +286 -0
  80. package/esm/core/src/data-api.d.ts +39 -0
  81. package/esm/core/src/data-api.js +279 -0
  82. package/esm/core/src/data-interfaces.d.ts +41 -0
  83. package/esm/core/src/data-interfaces.js +12 -0
  84. package/esm/core/src/data-providers/array-entity-data-provider.d.ts +22 -0
  85. package/esm/core/src/data-providers/array-entity-data-provider.js +252 -0
  86. package/esm/core/src/data-providers/in-memory-database.d.ts +9 -0
  87. package/esm/core/src/data-providers/in-memory-database.js +14 -0
  88. package/esm/core/src/data-providers/json-data-provider.d.ts +12 -0
  89. package/esm/core/src/data-providers/json-data-provider.js +55 -0
  90. package/esm/core/src/data-providers/rest-data-provider.d.ts +49 -0
  91. package/esm/core/src/data-providers/rest-data-provider.js +256 -0
  92. package/esm/core/src/data-providers/sql-database.d.ts +33 -0
  93. package/esm/core/src/data-providers/sql-database.js +384 -0
  94. package/esm/core/src/data-providers/web-sql-data-provider.d.ts +24 -0
  95. package/esm/core/src/data-providers/web-sql-data-provider.js +143 -0
  96. package/esm/core/src/entity.d.ts +91 -0
  97. package/esm/core/src/entity.js +1 -0
  98. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +50 -0
  99. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +150 -0
  100. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +1 -0
  101. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +1 -0
  102. package/esm/core/src/filter/filter-interfaces.d.ts +85 -0
  103. package/esm/core/src/filter/filter-interfaces.js +477 -0
  104. package/esm/core/src/live-query/LiveQueryClient.d.ts +20 -0
  105. package/esm/core/src/live-query/LiveQueryClient.js +188 -0
  106. package/esm/core/src/live-query/SseSubscriptionClient.d.ts +5 -0
  107. package/esm/core/src/live-query/SseSubscriptionClient.js +86 -0
  108. package/esm/core/src/live-query/SubscriptionChannel.d.ts +72 -0
  109. package/esm/core/src/live-query/SubscriptionChannel.js +123 -0
  110. package/esm/core/src/live-query/SubscriptionServer.d.ts +53 -0
  111. package/esm/core/src/live-query/SubscriptionServer.js +111 -0
  112. package/esm/core/src/live-query/live-query-tests.spec.d.ts +6 -0
  113. package/esm/core/src/live-query/live-query-tests.spec.js +952 -0
  114. package/esm/core/src/remult-proxy.d.ts +35 -0
  115. package/esm/core/src/remult-proxy.js +113 -0
  116. package/esm/core/src/remult3/DecoratorReplacer.d.ts +10 -0
  117. package/esm/core/src/remult3/DecoratorReplacer.js +20 -0
  118. package/esm/core/src/remult3/RepositoryImplementation.d.ts +355 -0
  119. package/esm/core/src/remult3/RepositoryImplementation.js +2109 -0
  120. package/esm/core/src/remult3/index.d.ts +2 -0
  121. package/esm/core/src/remult3/index.js +2 -0
  122. package/esm/core/src/remult3/remult3.d.ts +395 -0
  123. package/esm/core/src/remult3/remult3.js +2 -0
  124. package/esm/core/src/server-action.d.ts +81 -0
  125. package/esm/core/src/server-action.js +394 -0
  126. package/esm/core/src/shared-tests/db-tests-setup.d.ts +32 -0
  127. package/esm/core/src/shared-tests/db-tests-setup.js +78 -0
  128. package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +25 -0
  129. package/esm/core/src/shared-tests/db-tests.db-tests.js +810 -0
  130. package/esm/core/src/shared-tests/deleteAll.d.ts +2 -0
  131. package/esm/core/src/shared-tests/deleteAll.js +4 -0
  132. package/esm/core/src/shared-tests/entityWithValidations.d.ts +14 -0
  133. package/esm/core/src/shared-tests/entityWithValidations.js +43 -0
  134. package/esm/core/src/shared-tests/index.d.ts +4 -0
  135. package/esm/core/src/shared-tests/index.js +4 -0
  136. package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +1 -0
  137. package/esm/core/src/shared-tests/test-custom-id-column.spec.js +67 -0
  138. package/esm/core/src/shared-tests/test-special-value.spec.d.ts +10 -0
  139. package/esm/core/src/shared-tests/test-special-value.spec.js +73 -0
  140. package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +1 -0
  141. package/esm/core/src/shared-tests/test-update-with-null.spec.js +31 -0
  142. package/esm/core/src/sort.d.ts +16 -0
  143. package/esm/core/src/sort.js +103 -0
  144. package/esm/core/src/sql-command.d.ts +19 -0
  145. package/esm/core/src/sql-command.js +1 -0
  146. package/esm/core/src/test.d.ts +3 -0
  147. package/esm/core/src/test.js +12 -0
  148. package/esm/core/src/tests/Done.d.ts +5 -0
  149. package/esm/core/src/tests/Done.js +9 -0
  150. package/esm/core/src/tests/RowProvider.spec.d.ts +16 -0
  151. package/esm/core/src/tests/RowProvider.spec.js +631 -0
  152. package/esm/core/src/tests/TestDataApiResponse.d.ts +10 -0
  153. package/esm/core/src/tests/TestDataApiResponse.js +22 -0
  154. package/esm/core/src/tests/basicRowFunctionality.spec.d.ts +8 -0
  155. package/esm/core/src/tests/basicRowFunctionality.spec.js +2103 -0
  156. package/esm/core/src/tests/c.d.ts +8 -0
  157. package/esm/core/src/tests/c.js +13 -0
  158. package/esm/core/src/tests/createData.d.ts +7 -0
  159. package/esm/core/src/tests/createData.js +22 -0
  160. package/esm/core/src/tests/d.d.ts +6 -0
  161. package/esm/core/src/tests/d.js +11 -0
  162. package/esm/core/src/tests/dWithPrefilter.d.ts +7 -0
  163. package/esm/core/src/tests/dWithPrefilter.js +18 -0
  164. package/esm/core/src/tests/entityForCustomFilter.d.ts +16 -0
  165. package/esm/core/src/tests/entityForCustomFilter.js +33 -0
  166. package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +5 -0
  167. package/esm/core/src/tests/entityWithValidationsOnColumn.js +13 -0
  168. package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +4 -0
  169. package/esm/core/src/tests/frontend-database-tests-setup.spec.js +37 -0
  170. package/esm/core/src/tests/h.d.ts +6 -0
  171. package/esm/core/src/tests/h.js +24 -0
  172. package/esm/core/src/tests/remult-3-basic-tests.spec.d.ts +1 -0
  173. package/esm/core/src/tests/remult-3-basic-tests.spec.js +236 -0
  174. package/esm/core/src/tests/remult-3-entities.d.ts +23 -0
  175. package/esm/core/src/tests/remult-3-entities.js +39 -0
  176. package/esm/core/src/tests/tasks.d.ts +6 -0
  177. package/esm/core/src/tests/tasks.js +10 -0
  178. package/esm/core/src/tests/test-context-as-storage.spec.d.ts +0 -0
  179. package/esm/core/src/tests/test-context-as-storage.spec.js +1 -0
  180. package/esm/core/src/tests/test-data-api/predefined-filter.spec.d.ts +1 -0
  181. package/esm/core/src/tests/test-data-api/predefined-filter.spec.js +389 -0
  182. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.d.ts +5 -0
  183. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.js +152 -0
  184. package/esm/core/src/tests/test-decorator-precedence.spec.d.ts +1 -0
  185. package/esm/core/src/tests/test-decorator-precedence.spec.js +38 -0
  186. package/esm/core/src/tests/test-default-value.spec.d.ts +1 -0
  187. package/esm/core/src/tests/test-default-value.spec.js +33 -0
  188. package/esm/core/src/tests/test-entity-inheritance.spec.d.ts +14 -0
  189. package/esm/core/src/tests/test-entity-inheritance.spec.js +82 -0
  190. package/esm/core/src/tests/test-exceptions.spec.d.ts +1 -0
  191. package/esm/core/src/tests/test-exceptions.spec.js +375 -0
  192. package/esm/core/src/tests/test-json.spec.d.ts +1 -0
  193. package/esm/core/src/tests/test-json.spec.js +115 -0
  194. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.d.ts +9 -0
  195. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.js +809 -0
  196. package/esm/core/src/tests/test-non-active-record.spec.d.ts +1 -0
  197. package/esm/core/src/tests/test-non-active-record.spec.js +66 -0
  198. package/esm/core/src/tests/test-object-column.spec.d.ts +1 -0
  199. package/esm/core/src/tests/test-object-column.spec.js +189 -0
  200. package/esm/core/src/tests/test-paged-foreach.spec.d.ts +1 -0
  201. package/esm/core/src/tests/test-paged-foreach.spec.js +328 -0
  202. package/esm/core/src/tests/test-remult-angular.spec.d.ts +1 -0
  203. package/esm/core/src/tests/test-remult-angular.spec.js +23 -0
  204. package/esm/core/src/tests/test-server-controller.spec.d.ts +7 -0
  205. package/esm/core/src/tests/test-server-controller.spec.js +489 -0
  206. package/esm/core/src/tests/test-server-expressions.spec.d.ts +1 -0
  207. package/esm/core/src/tests/test-server-expressions.spec.js +178 -0
  208. package/esm/core/src/tests/test-server-method-on-entity.spec.d.ts +1 -0
  209. package/esm/core/src/tests/test-server-method-on-entity.spec.js +306 -0
  210. package/esm/core/src/tests/test-sql-expression.spec.d.ts +5 -0
  211. package/esm/core/src/tests/test-sql-expression.spec.js +205 -0
  212. package/esm/core/src/tests/test-sql.spec.d.ts +1 -0
  213. package/esm/core/src/tests/test-sql.spec.js +170 -0
  214. package/esm/core/src/tests/test-subscribe.spec.d.ts +1 -0
  215. package/esm/core/src/tests/test-subscribe.spec.js +135 -0
  216. package/esm/core/src/tests/test-type-recovery.spec.d.ts +1 -0
  217. package/esm/core/src/tests/test-type-recovery.spec.js +49 -0
  218. package/esm/core/src/tests/test-where-api.spec.d.ts +1 -0
  219. package/esm/core/src/tests/test-where-api.spec.js +434 -0
  220. package/esm/core/src/tests/testHelper.spec.d.ts +36 -0
  221. package/esm/core/src/tests/testHelper.spec.js +226 -0
  222. package/esm/core/src/tests/testModel/models.d.ts +16 -0
  223. package/esm/core/src/tests/testModel/models.js +25 -0
  224. package/esm/core/src/validators.d.ts +14 -0
  225. package/esm/core/src/validators.js +33 -0
  226. package/esm/core/src/valueConverters.d.ts +13 -0
  227. package/esm/core/src/valueConverters.js +197 -0
  228. package/esm/core/urlBuilder.d.ts +6 -0
  229. package/esm/core/urlBuilder.js +20 -0
  230. package/esm/graphql.js +194 -73
  231. package/esm/index.d.ts +10 -10
  232. package/esm/index.js +8 -8
  233. package/esm/inputTypes.js +1 -1
  234. package/esm/live-query/data-provider-live-query-storage.d.ts +3 -3
  235. package/esm/live-query/data-provider-live-query-storage.js +12 -9
  236. package/esm/myLog.js +2 -2
  237. package/esm/postgres/postgres-data-provider.d.ts +2 -2
  238. package/esm/postgres/postgres-data-provider.js +20 -14
  239. package/esm/postgres/schema-builder.d.ts +1 -1
  240. package/esm/postgres/schema-builder.js +28 -21
  241. package/esm/remult-express.js +2 -2
  242. package/esm/remult-fastify.js +9 -7
  243. package/esm/remult-fresh.d.ts +1 -1
  244. package/esm/remult-fresh.js +5 -8
  245. package/esm/remult-knex/index.d.ts +4 -4
  246. package/esm/remult-knex/index.js +75 -59
  247. package/esm/remult-mongo.js +36 -27
  248. package/esm/remult-next.d.ts +3 -3
  249. package/esm/remult-next.js +17 -11
  250. package/esm/remult-sveltekit.js +10 -10
  251. package/esm/server/JsonEntityFileStorage.js +3 -1
  252. package/esm/server/core.d.ts +2 -2
  253. package/esm/server/core.js +2 -2
  254. package/esm/server/expressBridge.d.ts +3 -12
  255. package/esm/server/expressBridge.js +265 -278
  256. package/esm/server/index.d.ts +2 -2
  257. package/esm/server/index.js +5 -2
  258. package/esm/server/initAsyncHooks.js +1 -1
  259. package/esm/server/initDataProvider.js +1 -1
  260. package/esm/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +1 -1
  261. package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +47 -38
  262. package/esm/src/buildRestDataProvider.d.ts +1 -1
  263. package/esm/src/buildRestDataProvider.js +21 -13
  264. package/esm/src/column-interfaces.d.ts +9 -9
  265. package/esm/src/column.d.ts +4 -0
  266. package/esm/src/column.js +23 -11
  267. package/esm/src/context.d.ts +20 -8
  268. package/esm/src/context.js +65 -24
  269. package/esm/src/data-api.d.ts +0 -1
  270. package/esm/src/data-api.js +38 -37
  271. package/esm/src/data-interfaces.d.ts +1 -1
  272. package/esm/src/data-interfaces.js +1 -1
  273. package/esm/src/data-providers/array-entity-data-provider.js +9 -9
  274. package/esm/src/data-providers/in-memory-database.d.ts +1 -1
  275. package/esm/src/data-providers/in-memory-database.js +3 -1
  276. package/esm/src/data-providers/json-data-provider.js +8 -8
  277. package/esm/src/data-providers/rest-data-provider.d.ts +1 -1
  278. package/esm/src/data-providers/rest-data-provider.js +52 -36
  279. package/esm/src/data-providers/sql-database.d.ts +5 -5
  280. package/esm/src/data-providers/sql-database.js +53 -36
  281. package/esm/src/data-providers/web-sql-data-provider.d.ts +4 -4
  282. package/esm/src/data-providers/web-sql-data-provider.js +15 -13
  283. package/esm/src/entity.d.ts +24 -24
  284. package/esm/src/filter/filter-consumer-bridge-to-sql-request.d.ts +4 -4
  285. package/esm/src/filter/filter-consumer-bridge-to-sql-request.js +35 -20
  286. package/esm/src/filter/filter-interfaces.d.ts +7 -7
  287. package/esm/src/filter/filter-interfaces.js +108 -88
  288. package/esm/src/live-query/LiveQueryClient.js +37 -29
  289. package/esm/src/live-query/SseSubscriptionClient.d.ts +1 -1
  290. package/esm/src/live-query/SseSubscriptionClient.js +14 -14
  291. package/esm/src/live-query/SubscriptionChannel.d.ts +3 -3
  292. package/esm/src/live-query/SubscriptionChannel.js +27 -25
  293. package/esm/src/live-query/SubscriptionServer.js +24 -20
  294. package/esm/src/remult-proxy.d.ts +1 -1
  295. package/esm/src/remult-proxy.js +87 -29
  296. package/esm/src/remult3/DecoratorReplacer.d.ts +2 -2
  297. package/esm/src/remult3/RepositoryImplementation.d.ts +51 -41
  298. package/esm/src/remult3/RepositoryImplementation.js +336 -206
  299. package/esm/src/remult3/remult3.d.ts +56 -51
  300. package/esm/src/remult3/remult3.js +0 -1
  301. package/esm/src/server-action.d.ts +12 -5
  302. package/esm/src/server-action.js +79 -53
  303. package/esm/src/shared-tests/db-tests-setup.d.ts +8 -8
  304. package/esm/src/shared-tests/db-tests-setup.js +10 -10
  305. package/esm/src/shared-tests/db-tests.db-tests.d.ts +1 -1
  306. package/esm/src/shared-tests/db-tests.db-tests.js +279 -177
  307. package/esm/src/shared-tests/deleteAll.d.ts +1 -1
  308. package/esm/src/shared-tests/deleteAll.js +1 -1
  309. package/esm/src/shared-tests/entityWithValidations.js +1 -1
  310. package/esm/src/shared-tests/test-custom-id-column.spec.js +4 -4
  311. package/esm/src/shared-tests/test-special-value.spec.js +12 -12
  312. package/esm/src/shared-tests/test-update-with-null.spec.js +10 -6
  313. package/esm/src/sort.d.ts +2 -2
  314. package/esm/src/sort.js +12 -10
  315. package/esm/src/tests/TestDataApiResponse.d.ts +1 -1
  316. package/esm/src/tests/TestDataApiResponse.js +3 -4
  317. package/esm/src/tests/createData.js +2 -2
  318. package/esm/src/tests/d.js +1 -1
  319. package/esm/src/tests/dWithPrefilter.js +1 -1
  320. package/esm/src/tests/entityForCustomFilter.d.ts +4 -4
  321. package/esm/src/tests/entityForCustomFilter.js +12 -4
  322. package/esm/src/tests/entityWithValidationsOnColumn.js +1 -1
  323. package/esm/src/tests/frontend-database-tests-setup.spec.d.ts +1 -1
  324. package/esm/src/tests/frontend-database-tests-setup.spec.js +14 -14
  325. package/esm/src/tests/h.js +4 -4
  326. package/esm/src/tests/remult-3-entities.d.ts +2 -2
  327. package/esm/src/tests/remult-3-entities.js +6 -6
  328. package/esm/src/tests/testHelper.spec.d.ts +7 -7
  329. package/esm/src/tests/testHelper.spec.js +50 -39
  330. package/esm/src/tests/testModel/models.js +4 -4
  331. package/esm/src/validators.d.ts +1 -1
  332. package/esm/src/validators.js +10 -7
  333. package/esm/src/valueConverters.d.ts +1 -1
  334. package/esm/src/valueConverters.js +68 -55
  335. package/esm/test-servers/shared/Task.d.ts +9 -0
  336. package/esm/test-servers/shared/Task.js +32 -0
  337. package/esm/test.d.ts +5 -0
  338. package/esm/test.js +6 -0
  339. package/graphql.js +157 -45
  340. package/index.d.ts +10 -10
  341. package/inputTypes.js +1 -1
  342. package/live-query/data-provider-live-query-storage.d.ts +3 -3
  343. package/live-query/data-provider-live-query-storage.js +7 -4
  344. package/myLog.js +2 -2
  345. package/package.json +2 -2
  346. package/postgres/postgres-data-provider.d.ts +2 -2
  347. package/postgres/postgres-data-provider.js +21 -16
  348. package/postgres/schema-builder.d.ts +1 -1
  349. package/postgres/schema-builder.js +22 -15
  350. package/remult-express.js +1 -1
  351. package/remult-fastify.js +7 -7
  352. package/remult-fresh.d.ts +1 -1
  353. package/remult-fresh.js +1 -4
  354. package/remult-knex/index.d.ts +4 -4
  355. package/remult-knex/index.js +50 -35
  356. package/remult-mongo.js +33 -23
  357. package/remult-next.d.ts +3 -3
  358. package/remult-next.js +15 -11
  359. package/remult-sveltekit.js +14 -15
  360. package/server/core.d.ts +2 -2
  361. package/server/expressBridge.d.ts +3 -12
  362. package/server/expressBridge.js +278 -279
  363. package/server/index.d.ts +2 -2
  364. package/server/index.js +5 -2
  365. package/server/initAsyncHooks.js +2 -2
  366. package/server/initDataProvider.js +1 -1
  367. package/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +1 -1
  368. package/src/backend-tests/backend-database-test-setup.backend-spec.js +40 -31
  369. package/src/buildRestDataProvider.d.ts +1 -1
  370. package/src/buildRestDataProvider.js +18 -10
  371. package/src/column-interfaces.d.ts +9 -9
  372. package/src/column.d.ts +4 -0
  373. package/src/column.js +20 -8
  374. package/src/context.d.ts +20 -8
  375. package/src/context.js +61 -18
  376. package/src/data-api.d.ts +0 -1
  377. package/src/data-api.js +40 -43
  378. package/src/data-interfaces.d.ts +1 -1
  379. package/src/data-providers/array-entity-data-provider.js +2 -2
  380. package/src/data-providers/in-memory-database.d.ts +1 -1
  381. package/src/data-providers/in-memory-database.js +3 -1
  382. package/src/data-providers/json-data-provider.js +33 -15
  383. package/src/data-providers/rest-data-provider.d.ts +1 -1
  384. package/src/data-providers/rest-data-provider.js +47 -32
  385. package/src/data-providers/sql-database.d.ts +5 -5
  386. package/src/data-providers/sql-database.js +41 -24
  387. package/src/data-providers/web-sql-data-provider.d.ts +4 -4
  388. package/src/data-providers/web-sql-data-provider.js +10 -8
  389. package/src/entity.d.ts +24 -24
  390. package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +4 -4
  391. package/src/filter/filter-consumer-bridge-to-sql-request.js +34 -17
  392. package/src/filter/filter-interfaces.d.ts +7 -7
  393. package/src/filter/filter-interfaces.js +73 -47
  394. package/src/live-query/LiveQueryClient.js +35 -25
  395. package/src/live-query/SseSubscriptionClient.d.ts +1 -1
  396. package/src/live-query/SseSubscriptionClient.js +80 -76
  397. package/src/live-query/SubscriptionChannel.d.ts +3 -3
  398. package/src/live-query/SubscriptionChannel.js +26 -18
  399. package/src/live-query/SubscriptionServer.js +23 -17
  400. package/src/remult-proxy.d.ts +1 -1
  401. package/src/remult-proxy.js +84 -35
  402. package/src/remult3/DecoratorReplacer.d.ts +2 -2
  403. package/src/remult3/RepositoryImplementation.d.ts +51 -41
  404. package/src/remult3/RepositoryImplementation.js +402 -257
  405. package/src/remult3/remult3.d.ts +56 -51
  406. package/src/remult3/remult3.js +0 -1
  407. package/src/server-action.d.ts +12 -5
  408. package/src/server-action.js +78 -48
  409. package/src/shared-tests/db-tests-setup.d.ts +8 -8
  410. package/src/shared-tests/db-tests-setup.js +6 -6
  411. package/src/shared-tests/db-tests.db-tests.d.ts +1 -1
  412. package/src/shared-tests/db-tests.db-tests.js +350 -153
  413. package/src/shared-tests/deleteAll.d.ts +1 -1
  414. package/src/shared-tests/entityWithValidations.js +1 -1
  415. package/src/shared-tests/test-custom-id-column.spec.js +4 -4
  416. package/src/shared-tests/test-special-value.spec.js +9 -9
  417. package/src/shared-tests/test-update-with-null.spec.js +8 -4
  418. package/src/sort.d.ts +2 -2
  419. package/src/sort.js +9 -7
  420. package/src/tests/TestDataApiResponse.d.ts +1 -1
  421. package/src/tests/TestDataApiResponse.js +3 -4
  422. package/src/tests/createData.js +1 -1
  423. package/src/tests/d.js +1 -1
  424. package/src/tests/dWithPrefilter.js +1 -1
  425. package/src/tests/entityForCustomFilter.d.ts +4 -4
  426. package/src/tests/entityForCustomFilter.js +16 -6
  427. package/src/tests/entityWithValidationsOnColumn.js +1 -1
  428. package/src/tests/frontend-database-tests-setup.spec.d.ts +1 -1
  429. package/src/tests/frontend-database-tests-setup.spec.js +8 -8
  430. package/src/tests/h.js +3 -3
  431. package/src/tests/remult-3-entities.d.ts +2 -2
  432. package/src/tests/remult-3-entities.js +8 -4
  433. package/src/tests/testHelper.spec.d.ts +7 -7
  434. package/src/tests/testHelper.spec.js +38 -27
  435. package/src/tests/testModel/models.js +3 -3
  436. package/src/validators.d.ts +1 -1
  437. package/src/validators.js +18 -9
  438. package/src/valueConverters.d.ts +1 -1
  439. package/src/valueConverters.js +38 -21
  440. package/esm/remult-svletekit.d.ts +0 -3
  441. package/esm/remult-svletekit.js +0 -83
  442. package/esm/src/id-entity.d.ts +0 -4
  443. package/esm/src/id-entity.js +0 -8
  444. package/esm/src/remult3/getId.d.ts +0 -2
  445. package/esm/src/remult3/getId.js +0 -7
  446. package/postgres/getEntityTypescriptPostgres.d.ts +0 -1
  447. package/postgres/getEntityTypescriptPostgres.js +0 -125
  448. package/src/id-entity.d.ts +0 -4
  449. package/src/id-entity.js +0 -17
  450. package/src/remult3/getId.d.ts +0 -2
  451. package/src/remult3/getId.js +0 -11
@@ -11,29 +11,32 @@ function postgresColumnSyntax(x, dbName) {
11
11
  var result = dbName;
12
12
  if (x.valueType == Number) {
13
13
  if (!x.valueConverter.fieldTypeInDb)
14
- result += " numeric" + (x.allowNull ? "" : " default 0 not null");
14
+ result += ' numeric' + (x.allowNull ? '' : ' default 0 not null');
15
15
  else
16
- result += " " + x.valueConverter.fieldTypeInDb + (x.allowNull ? "" : " default 0 not null");
16
+ result +=
17
+ ' ' +
18
+ x.valueConverter.fieldTypeInDb +
19
+ (x.allowNull ? '' : ' default 0 not null');
17
20
  }
18
21
  else if (x.valueType == Date) {
19
22
  if (!x.valueConverter.fieldTypeInDb)
20
23
  if (x.valueConverter == valueConverters_1.ValueConverters.DateOnly)
21
- result += " date";
24
+ result += ' date';
22
25
  else
23
- result += " timestamp";
26
+ result += ' timestamp';
24
27
  else
25
- result += " " + x.valueConverter.fieldTypeInDb;
28
+ result += ' ' + x.valueConverter.fieldTypeInDb;
26
29
  }
27
30
  else if (x.valueType == Boolean)
28
- result += " boolean" + (x.allowNull ? "" : " default false not null");
31
+ result += ' boolean' + (x.allowNull ? '' : ' default false not null');
29
32
  else if (x.valueConverter.fieldTypeInDb) {
30
- result += " " + x.valueConverter.fieldTypeInDb;
33
+ result += ' ' + x.valueConverter.fieldTypeInDb;
31
34
  if (!x.allowNull && x.valueConverter.fieldTypeInDb == 'integer') {
32
- result += " default 0 not null";
35
+ result += ' default 0 not null';
33
36
  }
34
37
  }
35
38
  else
36
- result += " varchar" + (x.allowNull ? "" : " default '' not null");
39
+ result += ' varchar' + (x.allowNull ? '' : " default '' not null");
37
40
  return result;
38
41
  }
39
42
  exports.postgresColumnSyntax = postgresColumnSyntax;
@@ -53,7 +56,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
53
56
  this.pool = pool;
54
57
  this.additionalWhere = '';
55
58
  if (schema) {
56
- this.additionalWhere = ' and table_schema=\'' + schema + '\'';
59
+ this.additionalWhere = " and table_schema='" + schema + "'";
57
60
  }
58
61
  }
59
62
  PostgresSchemaBuilder.prototype.verifyStructureOfAllEntities = function (remult) {
@@ -64,7 +67,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
64
67
  switch (_d.label) {
65
68
  case 0:
66
69
  if (!remult) {
67
- remult = remult_proxy_1.RemultProxy.defaultRemult;
70
+ remult = remult_proxy_1.remult;
68
71
  }
69
72
  completed = new Set();
70
73
  entities = [];
@@ -138,7 +141,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
138
141
  case 6: return [3 /*break*/, 8];
139
142
  case 7:
140
143
  err_1 = _b.sent();
141
- console.error("failed verify structure of " + e.$entityName + " ", err_1);
144
+ console.error('failed verify structure of ' + e.$entityName + ' ', err_1);
142
145
  return [3 /*break*/, 8];
143
146
  case 8:
144
147
  entities_1_1 = entities_1.next();
@@ -170,7 +173,11 @@ var PostgresSchemaBuilder = /** @class */ (function () {
170
173
  return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(entity)];
171
174
  case 1:
172
175
  e = _a.sent();
173
- return [4 /*yield*/, c.execute("select 1 from information_Schema.tables where table_name=" + c.addParameterAndReturnSqlToken((e.$entityName).toLowerCase()) + this.additionalWhere).then(function (r) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
176
+ return [4 /*yield*/, c
177
+ .execute('select 1 from information_Schema.tables where table_name=' +
178
+ c.addParameterAndReturnSqlToken(e.$entityName.toLowerCase()) +
179
+ this.additionalWhere)
180
+ .then(function (r) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
174
181
  var result, _a, _b, x, sql;
175
182
  var e_3, _c;
176
183
  return tslib_1.__generator(this, function (_d) {
@@ -235,7 +242,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
235
242
  _a.trys.push([2, 6, , 7]);
236
243
  cmd = this.pool.createCommand();
237
244
  colName = e.$dbNameOf(c(entity));
238
- return [4 /*yield*/, cmd.execute("select 1 \n FROM information_schema.columns \n WHERE table_name=" + cmd.addParameterAndReturnSqlToken((e.$entityName).toLocaleLowerCase()) + " and column_name=" + cmd.addParameterAndReturnSqlToken((colName).toLocaleLowerCase()) + this.additionalWhere)];
245
+ return [4 /*yield*/, cmd.execute("select 1 \n FROM information_schema.columns \n WHERE table_name=" + cmd.addParameterAndReturnSqlToken(e.$entityName.toLocaleLowerCase()) + " and column_name=" + cmd.addParameterAndReturnSqlToken(colName.toLocaleLowerCase()) + this.additionalWhere)];
239
246
  case 3:
240
247
  if (!((_a.sent()).rows.length == 0)) return [3 /*break*/, 5];
241
248
  sql = "alter table " + e.$entityName + " add column " + postgresColumnSyntax(c(entity), colName);
@@ -267,7 +274,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
267
274
  return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(entity)];
268
275
  case 1:
269
276
  e = _d.sent();
270
- return [4 /*yield*/, cmd.execute("select column_name \n FROM information_schema.columns \n WHERE table_name=" + cmd.addParameterAndReturnSqlToken((e.$entityName).toLocaleLowerCase()) + " " + this.additionalWhere)];
277
+ return [4 /*yield*/, cmd.execute("select column_name \n FROM information_schema.columns \n WHERE table_name=" + cmd.addParameterAndReturnSqlToken(e.$entityName.toLocaleLowerCase()) + " " + this.additionalWhere)];
271
278
  case 2:
272
279
  cols = (_d.sent()).rows.map(function (x) { return x.column_name.toLocaleLowerCase(); });
273
280
  _d.label = 3;
package/remult-express.js CHANGED
@@ -21,7 +21,7 @@ function remultExpress(options) {
21
21
  buildGenericRequestInfo: function (req) { return req; },
22
22
  getRequestBody: function (req) { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
23
23
  return [2 /*return*/, req.body];
24
- }); }); }
24
+ }); }); },
25
25
  });
26
26
  server.registerRouter(app);
27
27
  return Object.assign(app, {
package/remult-fastify.js CHANGED
@@ -23,12 +23,12 @@ function remultFastify(options) {
23
23
  },
24
24
  writeHead: function (status, headers) {
25
25
  res.raw.writeHead(status, headers);
26
- }
26
+ },
27
27
  };
28
28
  Object.assign(req, {
29
29
  on: function (event, listener) {
30
30
  req.raw.on(event, listener);
31
- }
31
+ },
32
32
  });
33
33
  handler(req, myRes, function () { });
34
34
  };
@@ -53,10 +53,12 @@ function remultFastify(options) {
53
53
  get: function (handler) {
54
54
  instance.get(path, fastifyHandler(handler));
55
55
  return r;
56
- }, post: function (handler) {
56
+ },
57
+ post: function (handler) {
57
58
  instance.post(path, fastifyHandler(handler));
58
59
  return r;
59
- }, put: function (handler) {
60
+ },
61
+ put: function (handler) {
60
62
  instance.put(path, fastifyHandler(handler));
61
63
  return r;
62
64
  },
@@ -71,9 +73,7 @@ function remultFastify(options) {
71
73
  return Object.assign(pluginFunction, {
72
74
  getRemult: function (x) { return api.getRemult(x); },
73
75
  openApiDoc: function (x) { return api.openApiDoc(x); },
74
- withRemult: function (req, what) {
75
- return api.withRemultPromise(req, what);
76
- },
76
+ withRemult: function (req, what) { return api.withRemultPromise(req, what); },
77
77
  });
78
78
  }
79
79
  exports.remultFastify = remultFastify;
package/remult-fresh.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { RemultServerOptions, RemultServerCore } from "./server/expressBridge";
1
+ import { RemultServerOptions, RemultServerCore } from './server/expressBridge';
2
2
  export declare function remultFresh(options: RemultServerOptions<FreshRequest>, response: FreshResponse): RemultFresh;
3
3
  export interface RemultFresh extends RemultServerCore<FreshRequest> {
4
4
  handle(req: FreshRequest, ctx: FreshContext): Promise<any>;
package/remult-fresh.js CHANGED
@@ -7,7 +7,7 @@ function remultFresh(options, response) {
7
7
  var _this = this;
8
8
  var server = expressBridge_1.createRemultServerCore(options, {
9
9
  buildGenericRequestInfo: function (r) { return r; },
10
- getRequestBody: function (req) { return req.json(); }
10
+ getRequestBody: function (req) { return req.json(); },
11
11
  });
12
12
  return {
13
13
  getRemult: function (r) { return server.getRemult(r); },
@@ -32,7 +32,6 @@ function remultFresh(options, response) {
32
32
  else {
33
33
  return [2 /*return*/, ctx.next()];
34
34
  }
35
- ;
36
35
  return [2 /*return*/];
37
36
  }
38
37
  });
@@ -40,5 +39,3 @@ function remultFresh(options, response) {
40
39
  };
41
40
  }
42
41
  exports.remultFresh = remultFresh;
43
- ;
44
- ;
@@ -1,6 +1,6 @@
1
1
  import type { Knex } from 'knex';
2
- import { Remult } from "../src/context";
3
- import { EntityFilter, EntityMetadata, RepositoryOverloads } from "../src/remult3";
2
+ import { Remult } from '../src/context';
3
+ import { EntityFilter, EntityMetadata, RepositoryOverloads } from '../src/remult3';
4
4
  import { DataProvider, EntityDataProvider } from '../src/data-interfaces';
5
5
  import { FieldMetadata } from '../src/column-interfaces';
6
6
  export declare class KnexDataProvider implements DataProvider {
@@ -11,7 +11,7 @@ export declare class KnexDataProvider implements DataProvider {
11
11
  transaction(action: (dataProvider: DataProvider) => Promise<void>): Promise<void>;
12
12
  static rawFilter(build: CustomKnexFilterBuilderFunction): EntityFilter<any>;
13
13
  static filterToRaw<entityType>(entity: RepositoryOverloads<entityType>, condition: EntityFilter<entityType>): Promise<(knex: any) => void>;
14
- supportsRawFilter?: boolean;
14
+ isProxy?: boolean;
15
15
  ensureSchema(entities: EntityMetadata<any>[]): Promise<void>;
16
16
  }
17
17
  export declare type CustomKnexFilterBuilderFunction = () => Promise<(builder: Knex.QueryBuilder) => void>;
@@ -20,7 +20,7 @@ export declare class KnexSchemaBuilder {
20
20
  verifyStructureOfAllEntities(remult?: Remult): Promise<void>;
21
21
  ensureSchema(entities: EntityMetadata<any>[]): Promise<void>;
22
22
  createIfNotExist(entity: EntityMetadata): Promise<void>;
23
- addColumnIfNotExist<T extends EntityMetadata>(entity: T, c: ((e: T) => FieldMetadata)): Promise<void>;
23
+ addColumnIfNotExist<T extends EntityMetadata>(entity: T, c: (e: T) => FieldMetadata): Promise<void>;
24
24
  verifyAllColumns<T extends EntityMetadata>(entity: T): Promise<void>;
25
25
  additionalWhere: string;
26
26
  constructor(knex: Knex);
@@ -17,7 +17,7 @@ var KnexDataProvider = /** @class */ (function () {
17
17
  KnexDataProvider.getDb = function (remult) {
18
18
  var r = (remult || remult_proxy_1.remult).dataProvider;
19
19
  if (!r.knex)
20
- throw "the data provider is not an KnexDataProvider";
20
+ throw 'the data provider is not an KnexDataProvider';
21
21
  return r.knex;
22
22
  };
23
23
  KnexDataProvider.prototype.getEntityDataProvider = function (entity) {
@@ -26,7 +26,7 @@ var KnexDataProvider = /** @class */ (function () {
26
26
  try {
27
27
  for (var _b = tslib_1.__values(entity.fields.toArray()), _c = _b.next(); !_c.done; _c = _b.next()) {
28
28
  var f = _c.value;
29
- if (f.valueConverter.fieldTypeInDb === "json") {
29
+ if (f.valueConverter.fieldTypeInDb === 'json') {
30
30
  //@ts-ignore
31
31
  f.valueConverter = tslib_1.__assign(tslib_1.__assign({}, f.valueConverter), { toDb: valueConverters_1.ValueConverters.JsonString.toDb, fromDb: valueConverters_1.ValueConverters.JsonString.fromDb });
32
32
  }
@@ -74,7 +74,7 @@ var KnexDataProvider = /** @class */ (function () {
74
74
  var _a;
75
75
  return _a = {},
76
76
  _a[filter_interfaces_1.customDatabaseFilterToken] = {
77
- buildKnex: build
77
+ buildKnex: build,
78
78
  },
79
79
  _a;
80
80
  };
@@ -90,7 +90,7 @@ var KnexDataProvider = /** @class */ (function () {
90
90
  case 1:
91
91
  b = new (_a.apply(FilterConsumerBridgeToKnexRequest, [void 0, _b.sent()]))();
92
92
  b._addWhere = false;
93
- return [4 /*yield*/, (repo.translateWhereToFilter(condition))];
93
+ return [4 /*yield*/, repo.translateWhereToFilter(condition)];
94
94
  case 2: return [4 /*yield*/, (_b.sent()).__applyToConsumer(b)];
95
95
  case 3:
96
96
  _b.sent();
@@ -139,9 +139,10 @@ var KnexEntityDataProvider = /** @class */ (function () {
139
139
  case 2:
140
140
  r = _a.sent();
141
141
  return [4 /*yield*/, this.knex(e.$entityName)
142
- .count().where(function (b) { return r.forEach(function (w) { return w(b); }); })];
142
+ .count()
143
+ .where(function (b) { return r.forEach(function (w) { return w(b); }); })];
143
144
  case 3:
144
- result = (_a.sent());
145
+ result = _a.sent();
145
146
  row = result[0];
146
147
  for (key in row) {
147
148
  if (Object.prototype.hasOwnProperty.call(row, key)) {
@@ -199,7 +200,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
199
200
  if (options.orderBy) {
200
201
  query = query.orderBy(options.orderBy.Segments.map(function (s) { return ({
201
202
  column: e.$dbNameOf(s.field),
202
- order: s.isDescending ? "desc" : "asc"
203
+ order: s.isDescending ? 'desc' : 'asc',
203
204
  }); }));
204
205
  }
205
206
  if (options.limit) {
@@ -219,7 +220,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
219
220
  result[field.key] = field.valueConverter.fromDb(y[m]);
220
221
  }
221
222
  catch (err) {
222
- throw new Error("Failed to load from db:" + field.key + "\r\n" + err);
223
+ throw new Error('Failed to load from db:' + field.key + '\r\n' + err);
223
224
  }
224
225
  }
225
226
  return result;
@@ -233,7 +234,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
233
234
  return tslib_1.__generator(this, function (_a) {
234
235
  switch (_a.label) {
235
236
  case 0: return [4 /*yield*/, filter_consumer_bridge_to_sql_request_1.dbNamesOf(this.entity)];
236
- case 1: return [2 /*return*/, _a.sent()];
237
+ case 1: return [2 /*return*/, (_a.sent())];
237
238
  }
238
239
  });
239
240
  });
@@ -289,10 +290,14 @@ var KnexEntityDataProvider = /** @class */ (function () {
289
290
  case 10: return [4 /*yield*/, f.resolveWhere()];
290
291
  case 11:
291
292
  where = _d.sent();
292
- return [4 /*yield*/, this.knex(e.$entityName).update(updateObject).where(function (b) { return where.forEach(function (w) { return w(b); }); })];
293
+ return [4 /*yield*/, this.knex(e.$entityName)
294
+ .update(updateObject)
295
+ .where(function (b) { return where.forEach(function (w) { return w(b); }); })];
293
296
  case 12:
294
297
  _d.sent();
295
- return [2 /*return*/, this.find({ where: filter_interfaces_1.Filter.fromEntityFilter(this.entity, resultFilter) }).then(function (y) { return y[0]; })];
298
+ return [2 /*return*/, this.find({
299
+ where: filter_interfaces_1.Filter.fromEntityFilter(this.entity, resultFilter),
300
+ }).then(function (y) { return y[0]; })];
296
301
  }
297
302
  });
298
303
  });
@@ -310,7 +315,9 @@ var KnexEntityDataProvider = /** @class */ (function () {
310
315
  return [4 /*yield*/, f.resolveWhere()];
311
316
  case 2:
312
317
  where = _a.sent();
313
- return [4 /*yield*/, this.knex(e.$entityName).delete().where(function (b) { return where.forEach(function (w) { return w(b); }); })];
318
+ return [4 /*yield*/, this.knex(e.$entityName)
319
+ .delete()
320
+ .where(function (b) { return where.forEach(function (w) { return w(b); }); })];
314
321
  case 3:
315
322
  _a.sent();
316
323
  return [2 /*return*/];
@@ -380,7 +387,9 @@ var KnexEntityDataProvider = /** @class */ (function () {
380
387
  newId_1 = result[0].id;
381
388
  _d.label = 14;
382
389
  case 14:
383
- resultFilter = new filter_interfaces_1.Filter(function (x) { return x.isEqualTo(_this.entity.idMetadata.field, newId_1); });
390
+ resultFilter = new filter_interfaces_1.Filter(function (x) {
391
+ return x.isEqualTo(_this.entity.idMetadata.field, newId_1);
392
+ });
384
393
  return [3 /*break*/, 17];
385
394
  case 15: return [4 /*yield*/, insert];
386
395
  case 16:
@@ -445,7 +454,7 @@ var FilterConsumerBridgeToKnexRequest = /** @class */ (function () {
445
454
  });
446
455
  };
447
456
  FilterConsumerBridgeToKnexRequest.prototype.custom = function (key, customItem) {
448
- throw new Error("Custom filter should be translated before it gets here");
457
+ throw new Error('Custom filter should be translated before it gets here');
449
458
  };
450
459
  FilterConsumerBridgeToKnexRequest.prototype.or = function (orElements) {
451
460
  var _this = this;
@@ -533,35 +542,41 @@ var FilterConsumerBridgeToKnexRequest = /** @class */ (function () {
533
542
  });
534
543
  };
535
544
  FilterConsumerBridgeToKnexRequest.prototype.isEqualTo = function (col, val) {
536
- this.add(col, val, "=");
545
+ this.add(col, val, '=');
537
546
  };
538
547
  FilterConsumerBridgeToKnexRequest.prototype.isDifferentFrom = function (col, val) {
539
- this.add(col, val, "<>");
548
+ this.add(col, val, '<>');
540
549
  };
541
550
  FilterConsumerBridgeToKnexRequest.prototype.isGreaterOrEqualTo = function (col, val) {
542
- this.add(col, val, ">=");
551
+ this.add(col, val, '>=');
543
552
  };
544
553
  FilterConsumerBridgeToKnexRequest.prototype.isGreaterThan = function (col, val) {
545
- this.add(col, val, ">");
554
+ this.add(col, val, '>');
546
555
  };
547
556
  FilterConsumerBridgeToKnexRequest.prototype.isLessOrEqualTo = function (col, val) {
548
- this.add(col, val, "<=");
557
+ this.add(col, val, '<=');
549
558
  };
550
559
  FilterConsumerBridgeToKnexRequest.prototype.isLessThan = function (col, val) {
551
- this.add(col, val, "<");
560
+ this.add(col, val, '<');
552
561
  };
553
562
  FilterConsumerBridgeToKnexRequest.prototype.containsCaseInsensitive = function (col, val) {
554
563
  var _this = this;
555
- this.result.push(function (b) { return b.whereRaw('lower (' + b.client.ref(_this.nameProvider.$dbNameOf(col)) + ") like lower ('%" + val.replace(/'/g, '\'\'') + "%')"); });
556
- this.promises.push((function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
557
- return tslib_1.__generator(this, function (_a) {
558
- return [2 /*return*/];
559
- });
560
- }); })());
564
+ this.result.push(function (b) {
565
+ return b.whereRaw('lower (' +
566
+ b.client.ref(_this.nameProvider.$dbNameOf(col)) +
567
+ ") like lower ('%" +
568
+ val.replace(/'/g, "''") +
569
+ "%')");
570
+ });
571
+ this.promises.push((function () { return tslib_1.__awaiter(_this, void 0, void 0, function () { return tslib_1.__generator(this, function (_a) {
572
+ return [2 /*return*/];
573
+ }); }); })());
561
574
  };
562
575
  FilterConsumerBridgeToKnexRequest.prototype.add = function (col, val, operator) {
563
576
  var _this = this;
564
- this.result.push(function (b) { return b.where(_this.nameProvider.$dbNameOf(col), operator, translateValueAndHandleArrayAndHandleArray(col, val)); });
577
+ this.result.push(function (b) {
578
+ return b.where(_this.nameProvider.$dbNameOf(col), operator, translateValueAndHandleArrayAndHandleArray(col, val));
579
+ });
565
580
  };
566
581
  FilterConsumerBridgeToKnexRequest.prototype.databaseCustom = function (databaseCustom) {
567
582
  var _this = this;
@@ -593,7 +608,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
593
608
  var entities;
594
609
  return tslib_1.__generator(this, function (_a) {
595
610
  if (!remult)
596
- remult = remult_proxy_1.RemultProxy.defaultRemult;
611
+ remult = remult_proxy_1.remult;
597
612
  entities = context_1.allEntities.map(function (x) { return remult.repo(x).metadata; });
598
613
  this.ensureSchema(entities);
599
614
  return [2 /*return*/];
@@ -631,7 +646,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
631
646
  case 6: return [3 /*break*/, 8];
632
647
  case 7:
633
648
  err_2 = _b.sent();
634
- console.error("failed ensure schema of " + e.$entityName + " ", err_2);
649
+ console.error('failed ensure schema of ' + e.$entityName + ' ', err_2);
635
650
  return [3 /*break*/, 8];
636
651
  case 8:
637
652
  entities_1_1 = entities_1.next();
@@ -671,7 +686,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
671
686
  f = _b.value;
672
687
  cols_1.set(f, {
673
688
  name: e.$dbNameOf(f),
674
- readonly: filter_consumer_bridge_to_sql_request_1.isDbReadonly(f, e)
689
+ readonly: filter_consumer_bridge_to_sql_request_1.isDbReadonly(f, e),
675
690
  });
676
691
  }
677
692
  }
@@ -810,7 +825,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
810
825
  exports.KnexSchemaBuilder = KnexSchemaBuilder;
811
826
  function supportsJson(knex) {
812
827
  var client = knex.client.config.client;
813
- if ((client === null || client === void 0 ? void 0 : client.includes("sqlite3")) || (client === null || client === void 0 ? void 0 : client.includes("mssql")))
828
+ if ((client === null || client === void 0 ? void 0 : client.includes('sqlite3')) || (client === null || client === void 0 ? void 0 : client.includes('mssql')))
814
829
  return false;
815
830
  return true;
816
831
  }
@@ -823,7 +838,7 @@ function buildColumn(x, dbName, b, supportsJson) {
823
838
  c.defaultTo(0).notNullable();
824
839
  }
825
840
  }
826
- else if (x.valueConverter.fieldTypeInDb == "integer") {
841
+ else if (x.valueConverter.fieldTypeInDb == 'integer') {
827
842
  var c = b.integer(dbName);
828
843
  if (!x.allowNull) {
829
844
  c.defaultTo(0).notNullable();
@@ -838,7 +853,7 @@ function buildColumn(x, dbName, b, supportsJson) {
838
853
  b.date(dbName);
839
854
  else
840
855
  b.dateTime(dbName);
841
- else if (x.valueConverter.fieldTypeInDb == "date")
856
+ else if (x.valueConverter.fieldTypeInDb == 'date')
842
857
  b.date(dbName);
843
858
  else
844
859
  b.specificType(dbName, x.valueConverter.fieldTypeInDb);
@@ -849,13 +864,13 @@ function buildColumn(x, dbName, b, supportsJson) {
849
864
  c.defaultTo(false).notNullable();
850
865
  }
851
866
  else if (x.valueConverter.fieldTypeInDb) {
852
- if (x.valueConverter.fieldTypeInDb == "integer") {
867
+ if (x.valueConverter.fieldTypeInDb == 'integer') {
853
868
  var c = b.integer(dbName);
854
869
  if (!x.allowNull) {
855
870
  c.defaultTo(0).notNullable();
856
871
  }
857
872
  }
858
- else if (x.valueConverter.fieldTypeInDb == "json")
873
+ else if (x.valueConverter.fieldTypeInDb == 'json')
859
874
  if (supportsJson)
860
875
  b.json(dbName);
861
876
  else
package/remult-mongo.js CHANGED
@@ -17,7 +17,7 @@ var MongoDataProvider = /** @class */ (function () {
17
17
  MongoDataProvider.getDb = function (remult) {
18
18
  var r = (remult || remult_proxy_1.remult).dataProvider;
19
19
  if (!r.db)
20
- throw "the data provider is not a MongoDataProvider";
20
+ throw 'the data provider is not a MongoDataProvider';
21
21
  return { db: r.db, session: r.session };
22
22
  };
23
23
  MongoDataProvider.prototype.getEntityDataProvider = function (entity) {
@@ -70,7 +70,7 @@ var MongoDataProvider = /** @class */ (function () {
70
70
  case 1:
71
71
  b = new (_a.apply(FilterConsumerBridgeToMongo, [void 0, _b.sent()]))();
72
72
  b._addWhere = false;
73
- return [4 /*yield*/, (repo.translateWhereToFilter(condition))];
73
+ return [4 /*yield*/, repo.translateWhereToFilter(condition)];
74
74
  case 2: return [4 /*yield*/, (_b.sent()).__applyToConsumer(b)];
75
75
  case 3:
76
76
  _b.sent();
@@ -85,7 +85,7 @@ var MongoDataProvider = /** @class */ (function () {
85
85
  return MongoDataProvider;
86
86
  }());
87
87
  exports.MongoDataProvider = MongoDataProvider;
88
- var NULL = { $null: "$null" };
88
+ var NULL = { $null: '$null' };
89
89
  function isNull(x) {
90
90
  return (x === null || x === void 0 ? void 0 : x.$null) === NULL.$null;
91
91
  }
@@ -173,7 +173,7 @@ var MongoEntityDataProvider = /** @class */ (function () {
173
173
  case 2:
174
174
  where = _g.sent();
175
175
  op = {
176
- session: this.session
176
+ session: this.session,
177
177
  };
178
178
  if (options.limit) {
179
179
  op.limit = options.limit;
@@ -198,7 +198,10 @@ var MongoEntityDataProvider = /** @class */ (function () {
198
198
  }
199
199
  }
200
200
  _e = (_d = Promise).all;
201
- return [4 /*yield*/, collection.find(where, op).map(function (x) { return _this.translateFromJson(x, e); }).toArray()];
201
+ return [4 /*yield*/, collection
202
+ .find(where, op)
203
+ .map(function (x) { return _this.translateFromJson(x, e); })
204
+ .toArray()];
202
205
  case 3: return [4 /*yield*/, _e.apply(_d, [_g.sent()])];
203
206
  case 4: return [2 /*return*/, _g.sent()];
204
207
  }
@@ -256,11 +259,14 @@ var MongoEntityDataProvider = /** @class */ (function () {
256
259
  _g = (_f = collection).updateOne;
257
260
  return [4 /*yield*/, f.resolveWhere()];
258
261
  case 2: return [4 /*yield*/, _g.apply(_f, [_k.sent(), {
259
- $set: newR
260
- }, { session: this.session }])];
262
+ $set: newR,
263
+ },
264
+ { session: this.session }])];
261
265
  case 3:
262
266
  r = _k.sent();
263
- return [2 /*return*/, this.find({ where: _1.Filter.fromEntityFilter(this.entity, resultFilter) }).then(function (y) { return y[0]; })];
267
+ return [2 /*return*/, this.find({
268
+ where: _1.Filter.fromEntityFilter(this.entity, resultFilter),
269
+ }).then(function (y) { return y[0]; })];
264
270
  }
265
271
  });
266
272
  });
@@ -294,7 +300,9 @@ var MongoEntityDataProvider = /** @class */ (function () {
294
300
  _a = _e.sent(), collection = _a.collection, e = _a.e;
295
301
  _c = (_b = collection).insertOne;
296
302
  return [4 /*yield*/, this.translateToJson(data, e)];
297
- case 2: return [4 /*yield*/, _c.apply(_b, [_e.sent(), { session: this.session }])];
303
+ case 2: return [4 /*yield*/, _c.apply(_b, [_e.sent(), {
304
+ session: this.session,
305
+ }])];
298
306
  case 3:
299
307
  r = _e.sent();
300
308
  _d = this.translateFromJson;
@@ -376,7 +384,7 @@ var FilterConsumerBridgeToMongo = /** @class */ (function () {
376
384
  });
377
385
  };
378
386
  FilterConsumerBridgeToMongo.prototype.custom = function (key, customItem) {
379
- throw new Error("Custom filter should be translated before it gets here");
387
+ throw new Error('Custom filter should be translated before it gets here');
380
388
  };
381
389
  FilterConsumerBridgeToMongo.prototype.or = function (orElements) {
382
390
  var _this = this;
@@ -424,7 +432,7 @@ var FilterConsumerBridgeToMongo = /** @class */ (function () {
424
432
  return [7 /*endfinally*/];
425
433
  case 8:
426
434
  this.result.push(function () { return ({
427
- $or: result
435
+ $or: result,
428
436
  }); });
429
437
  return [2 /*return*/];
430
438
  }
@@ -432,10 +440,10 @@ var FilterConsumerBridgeToMongo = /** @class */ (function () {
432
440
  }); })());
433
441
  };
434
442
  FilterConsumerBridgeToMongo.prototype.isNull = function (col) {
435
- this.add(col, NULL, "$eq");
443
+ this.add(col, NULL, '$eq');
436
444
  };
437
445
  FilterConsumerBridgeToMongo.prototype.isNotNull = function (col) {
438
- this.add(col, NULL, "$ne");
446
+ this.add(col, NULL, '$ne');
439
447
  };
440
448
  FilterConsumerBridgeToMongo.prototype.isIn = function (col, val) {
441
449
  var _this = this;
@@ -443,31 +451,31 @@ var FilterConsumerBridgeToMongo = /** @class */ (function () {
443
451
  var _a;
444
452
  return (_a = {},
445
453
  _a[_this.nameProvider.$dbNameOf(col)] = {
446
- $in: val.map(function (x) { return col.valueConverter.toDb(x); })
454
+ $in: val.map(function (x) { return col.valueConverter.toDb(x); }),
447
455
  },
448
456
  _a);
449
457
  });
450
458
  };
451
459
  FilterConsumerBridgeToMongo.prototype.isEqualTo = function (col, val) {
452
- this.add(col, val, "$eq");
460
+ this.add(col, val, '$eq');
453
461
  };
454
462
  FilterConsumerBridgeToMongo.prototype.isDifferentFrom = function (col, val) {
455
- this.add(col, val, "$ne");
463
+ this.add(col, val, '$ne');
456
464
  };
457
465
  FilterConsumerBridgeToMongo.prototype.isGreaterOrEqualTo = function (col, val) {
458
- this.add(col, val, "$gte");
466
+ this.add(col, val, '$gte');
459
467
  };
460
468
  FilterConsumerBridgeToMongo.prototype.isGreaterThan = function (col, val) {
461
- this.add(col, val, "$gt");
469
+ this.add(col, val, '$gt');
462
470
  };
463
471
  FilterConsumerBridgeToMongo.prototype.isLessOrEqualTo = function (col, val) {
464
- this.add(col, val, "$lte");
472
+ this.add(col, val, '$lte');
465
473
  };
466
474
  FilterConsumerBridgeToMongo.prototype.isLessThan = function (col, val) {
467
- this.add(col, val, "$lt");
475
+ this.add(col, val, '$lt');
468
476
  };
469
477
  FilterConsumerBridgeToMongo.prototype.containsCaseInsensitive = function (col, val) {
470
- throw "containsCaseInsensitive not yet implemented";
478
+ throw 'containsCaseInsensitive not yet implemented';
471
479
  // this.promises.push(col.getDbName().then(colName => {
472
480
  // this.result.push(b => b.whereRaw(
473
481
  // 'lower (' + colName + ") like lower ('%" + val.replace(/'/g, '\'\'') + "%')"));
@@ -478,12 +486,14 @@ var FilterConsumerBridgeToMongo = /** @class */ (function () {
478
486
  this.result.push(function () {
479
487
  var _a, _b;
480
488
  return (_a = {},
481
- _a[_this.nameProvider.$dbNameOf(col)] = (_b = {}, _b[operator] = isNull(val) ? val : col.valueConverter.toDb(val), _b),
489
+ _a[_this.nameProvider.$dbNameOf(col)] = (_b = {},
490
+ _b[operator] = isNull(val) ? val : col.valueConverter.toDb(val),
491
+ _b),
482
492
  _a);
483
493
  });
484
494
  };
485
495
  FilterConsumerBridgeToMongo.prototype.databaseCustom = function (databaseCustom) {
486
- throw "error";
496
+ throw 'error';
487
497
  // this.promises.push((async () => {
488
498
  // if (databaseCustom?.buildSql) {
489
499
  // let item = new CustomSqlFilterBuilder(this.knex);
package/remult-next.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /// <reference types="node" />
2
- import type { GetServerSideProps, NextApiRequest, PreviewData, NextApiHandler } from "next";
3
- import type { ParsedUrlQuery } from "querystring";
4
- import { RemultServerCore, RemultServerOptions } from "./server";
2
+ import type { GetServerSideProps, NextApiRequest, PreviewData, NextApiHandler } from 'next';
3
+ import type { ParsedUrlQuery } from 'querystring';
4
+ import { RemultServerCore, RemultServerOptions } from './server';
5
5
  export declare function remultNext(options?: RemultServerOptions<NextApiRequest>): RemultNextServer;
6
6
  export declare type RemultNextServer = RemultServerCore<NextApiRequest> & NextApiHandler & {
7
7
  getServerSideProps<P extends {