remult 0.17.0-exp.8 → 0.17.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 (401) hide show
  1. package/esm/index.d.ts +1 -2
  2. package/esm/postgres/schema-builder.js +4 -4
  3. package/esm/remult-express.d.ts +0 -24
  4. package/esm/remult-express.js +1 -113
  5. package/esm/remult-fastify.js +1 -1
  6. package/esm/remult-fresh.js +2 -2
  7. package/esm/remult-knex/index.js +11 -4
  8. package/{core → esm}/server/core.d.ts +0 -0
  9. package/esm/{core/server → server}/core.js +0 -0
  10. package/esm/server/expressBridge.d.ts +11 -45
  11. package/esm/server/expressBridge.js +22 -29
  12. package/esm/server/index.d.ts +3 -1
  13. package/esm/server/index.js +6 -1
  14. package/esm/src/column.d.ts +3 -3
  15. package/esm/src/context.d.ts +0 -17
  16. package/esm/src/context.js +0 -76
  17. package/esm/src/data-api.js +11 -44
  18. package/esm/src/data-providers/array-entity-data-provider.js +16 -1
  19. package/esm/src/data-providers/rest-data-provider.d.ts +0 -4
  20. package/esm/src/data-providers/rest-data-provider.js +7 -11
  21. package/esm/src/data-providers/sql-database.js +1 -1
  22. package/esm/src/data-providers/web-sql-data-provider.js +1 -1
  23. package/esm/src/remult-proxy.d.ts +1 -1
  24. package/esm/src/remult-proxy.js +9 -11
  25. package/esm/src/remult3/RepositoryImplementation.d.ts +3 -6
  26. package/esm/src/remult3/RepositoryImplementation.js +22 -38
  27. package/esm/src/remult3/remult3.d.ts +6 -10
  28. package/esm/src/server-action.d.ts +0 -4
  29. package/esm/src/server-action.js +12 -10
  30. package/esm/src/shared-tests/db-tests-setup.d.ts +1 -1
  31. package/esm/src/shared-tests/db-tests-setup.js +3 -1
  32. package/esm/src/sort.d.ts +0 -1
  33. package/esm/src/sort.js +0 -18
  34. package/esm/src/tests/testHelper.spec.d.ts +0 -2
  35. package/esm/src/tests/testHelper.spec.js +57 -60
  36. package/esm/src/valueConverters.js +3 -1
  37. package/package.json +9 -1
  38. package/remult-express.js +2 -4
  39. package/remult-fastify.js +2 -4
  40. package/remult-fresh.js +1 -1
  41. package/{esm/core/server → server}/core.d.ts +0 -0
  42. package/{core/server → server}/core.js +0 -0
  43. package/server/expressBridge.d.ts +1 -1
  44. package/server/expressBridge.js +3 -3
  45. package/server/index.d.ts +3 -1
  46. package/server/index.js +7 -2
  47. package/src/shared-tests/db-tests-setup.js +2 -1
  48. package/core/assign.d.ts +0 -1
  49. package/core/assign.js +0 -9
  50. package/core/classType.d.ts +0 -3
  51. package/core/classType.js +0 -2
  52. package/core/graphql.d.ts +0 -5
  53. package/core/graphql.js +0 -164
  54. package/core/index.d.ts +0 -25
  55. package/core/index.js +0 -64
  56. package/core/inputTypes.d.ts +0 -9
  57. package/core/inputTypes.js +0 -16
  58. package/core/postgres/index.d.ts +0 -2
  59. package/core/postgres/index.js +0 -5
  60. package/core/postgres/postgres-data-provider.d.ts +0 -28
  61. package/core/postgres/postgres-data-provider.js +0 -159
  62. package/core/postgres/schema-builder.d.ts +0 -15
  63. package/core/postgres/schema-builder.js +0 -270
  64. package/core/remult-express.d.ts +0 -6
  65. package/core/remult-express.js +0 -34
  66. package/core/remult-fastify.d.ts +0 -3
  67. package/core/remult-fastify.js +0 -62
  68. package/core/remult-fresh.d.ts +0 -22
  69. package/core/remult-fresh.js +0 -59
  70. package/core/remult-knex/index.d.ts +0 -51
  71. package/core/remult-knex/index.js +0 -813
  72. package/core/remult-mongo.d.ts +0 -9
  73. package/core/remult-mongo.js +0 -455
  74. package/core/server/JsonEntityFileStorage.d.ts +0 -10
  75. package/core/server/JsonEntityFileStorage.js +0 -35
  76. package/core/server/expressBridge.d.ts +0 -102
  77. package/core/server/expressBridge.js +0 -1077
  78. package/core/server/index.d.ts +0 -4
  79. package/core/server/index.js +0 -13
  80. package/core/server/initAsyncHooks.d.ts +0 -1
  81. package/core/server/initAsyncHooks.js +0 -13
  82. package/core/src/__EntityValueProvider.d.ts +0 -10
  83. package/core/src/__EntityValueProvider.js +0 -2
  84. package/core/src/__RowsOfDataForTesting.d.ts +0 -3
  85. package/core/src/__RowsOfDataForTesting.js +0 -2
  86. package/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -6
  87. package/core/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -241
  88. package/core/src/backend-tests/my-test.backend-spec.d.ts +0 -1
  89. package/core/src/backend-tests/my-test.backend-spec.js +0 -217
  90. package/core/src/backend-tests/test-http-server.backend-spec.d.ts +0 -1
  91. package/core/src/backend-tests/test-http-server.backend-spec.js +0 -351
  92. package/core/src/column-interfaces.d.ts +0 -95
  93. package/core/src/column-interfaces.js +0 -11
  94. package/core/src/column.d.ts +0 -49
  95. package/core/src/column.js +0 -175
  96. package/core/src/context.d.ts +0 -115
  97. package/core/src/context.js +0 -403
  98. package/core/src/data-api.d.ts +0 -33
  99. package/core/src/data-api.js +0 -368
  100. package/core/src/data-interfaces.d.ts +0 -37
  101. package/core/src/data-interfaces.js +0 -16
  102. package/core/src/data-providers/array-entity-data-provider.d.ts +0 -22
  103. package/core/src/data-providers/array-entity-data-provider.js +0 -379
  104. package/core/src/data-providers/in-memory-database.d.ts +0 -9
  105. package/core/src/data-providers/in-memory-database.js +0 -31
  106. package/core/src/data-providers/json-data-provider.d.ts +0 -12
  107. package/core/src/data-providers/json-data-provider.js +0 -88
  108. package/core/src/data-providers/rest-data-provider.d.ts +0 -38
  109. package/core/src/data-providers/rest-data-provider.js +0 -301
  110. package/core/src/data-providers/sql-database.d.ts +0 -16
  111. package/core/src/data-providers/sql-database.js +0 -444
  112. package/core/src/data-providers/web-sql-data-provider.d.ts +0 -18
  113. package/core/src/data-providers/web-sql-data-provider.js +0 -182
  114. package/core/src/entity.d.ts +0 -82
  115. package/core/src/entity.js +0 -2
  116. package/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -50
  117. package/core/src/filter/filter-consumer-bridge-to-sql-request.js +0 -281
  118. package/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -1
  119. package/core/src/filter/filter-consumer-bridge-to-url-builder.js +0 -2
  120. package/core/src/filter/filter-interfaces.d.ts +0 -85
  121. package/core/src/filter/filter-interfaces.js +0 -630
  122. package/core/src/id-entity.d.ts +0 -4
  123. package/core/src/id-entity.js +0 -17
  124. package/core/src/remult-proxy.d.ts +0 -2
  125. package/core/src/remult-proxy.js +0 -91
  126. package/core/src/remult3/DecoratorReplacer.d.ts +0 -10
  127. package/core/src/remult3/DecoratorReplacer.js +0 -24
  128. package/core/src/remult3/RepositoryImplementation.d.ts +0 -323
  129. package/core/src/remult3/RepositoryImplementation.js +0 -2970
  130. package/core/src/remult3/index.d.ts +0 -2
  131. package/core/src/remult3/index.js +0 -5
  132. package/core/src/remult3/remult3.d.ts +0 -312
  133. package/core/src/remult3/remult3.js +0 -2
  134. package/core/src/server-action.d.ts +0 -72
  135. package/core/src/server-action.js +0 -612
  136. package/core/src/shared-tests/db-tests-setup.d.ts +0 -23
  137. package/core/src/shared-tests/db-tests-setup.js +0 -172
  138. package/core/src/shared-tests/db-tests.db-tests.d.ts +0 -26
  139. package/core/src/shared-tests/db-tests.db-tests.js +0 -1629
  140. package/core/src/shared-tests/deleteAll.d.ts +0 -2
  141. package/core/src/shared-tests/deleteAll.js +0 -21
  142. package/core/src/shared-tests/entityWithValidations.d.ts +0 -14
  143. package/core/src/shared-tests/entityWithValidations.js +0 -80
  144. package/core/src/shared-tests/index.d.ts +0 -4
  145. package/core/src/shared-tests/index.js +0 -6
  146. package/core/src/shared-tests/test-custom-id-column.spec.d.ts +0 -1
  147. package/core/src/shared-tests/test-custom-id-column.spec.js +0 -111
  148. package/core/src/shared-tests/test-special-value.spec.d.ts +0 -10
  149. package/core/src/shared-tests/test-special-value.spec.js +0 -128
  150. package/core/src/shared-tests/test-update-with-null.spec.d.ts +0 -1
  151. package/core/src/shared-tests/test-update-with-null.spec.js +0 -87
  152. package/core/src/sort.d.ts +0 -15
  153. package/core/src/sort.js +0 -139
  154. package/core/src/sql-command.d.ts +0 -15
  155. package/core/src/sql-command.js +0 -2
  156. package/core/src/tests/Done.d.ts +0 -5
  157. package/core/src/tests/Done.js +0 -17
  158. package/core/src/tests/TestDataApiResponse.d.ts +0 -10
  159. package/core/src/tests/TestDataApiResponse.js +0 -29
  160. package/core/src/tests/c.d.ts +0 -8
  161. package/core/src/tests/c.js +0 -28
  162. package/core/src/tests/createData.d.ts +0 -7
  163. package/core/src/tests/createData.js +0 -50
  164. package/core/src/tests/d.d.ts +0 -6
  165. package/core/src/tests/d.js +0 -27
  166. package/core/src/tests/dWithPrefilter.d.ts +0 -7
  167. package/core/src/tests/dWithPrefilter.js +0 -45
  168. package/core/src/tests/entityForCustomFilter.d.ts +0 -16
  169. package/core/src/tests/entityForCustomFilter.js +0 -68
  170. package/core/src/tests/entityWithValidationsOnColumn.d.ts +0 -5
  171. package/core/src/tests/entityWithValidationsOnColumn.js +0 -29
  172. package/core/src/tests/frontend-database-tests-setup.spec.d.ts +0 -4
  173. package/core/src/tests/frontend-database-tests-setup.spec.js +0 -101
  174. package/core/src/tests/h.d.ts +0 -6
  175. package/core/src/tests/h.js +0 -44
  176. package/core/src/tests/remult-3-entities.d.ts +0 -23
  177. package/core/src/tests/remult-3-entities.js +0 -81
  178. package/core/src/tests/tasks.d.ts +0 -6
  179. package/core/src/tests/tasks.js +0 -30
  180. package/core/src/tests/testHelper.spec.d.ts +0 -34
  181. package/core/src/tests/testHelper.spec.js +0 -374
  182. package/core/src/tests/testModel/models.d.ts +0 -16
  183. package/core/src/tests/testModel/models.js +0 -39
  184. package/core/src/validators.d.ts +0 -14
  185. package/core/src/validators.js +0 -60
  186. package/core/src/valueConverters.d.ts +0 -12
  187. package/core/src/valueConverters.js +0 -170
  188. package/core/urlBuilder.d.ts +0 -6
  189. package/core/urlBuilder.js +0 -25
  190. package/esm/core/assign.d.ts +0 -1
  191. package/esm/core/assign.js +0 -5
  192. package/esm/core/classType.d.ts +0 -3
  193. package/esm/core/classType.js +0 -1
  194. package/esm/core/graphql.d.ts +0 -5
  195. package/esm/core/graphql.js +0 -102
  196. package/esm/core/index.d.ts +0 -25
  197. package/esm/core/index.js +0 -24
  198. package/esm/core/inputTypes.d.ts +0 -9
  199. package/esm/core/inputTypes.js +0 -9
  200. package/esm/core/postgres/index.d.ts +0 -2
  201. package/esm/core/postgres/index.js +0 -2
  202. package/esm/core/postgres/postgres-data-provider.d.ts +0 -28
  203. package/esm/core/postgres/postgres-data-provider.js +0 -97
  204. package/esm/core/postgres/schema-builder.d.ts +0 -15
  205. package/esm/core/postgres/schema-builder.js +0 -128
  206. package/esm/core/remult-express.d.ts +0 -6
  207. package/esm/core/remult-express.js +0 -23
  208. package/esm/core/remult-fastify.d.ts +0 -3
  209. package/esm/core/remult-fastify.js +0 -53
  210. package/esm/core/remult-fresh.d.ts +0 -22
  211. package/esm/core/remult-fresh.js +0 -37
  212. package/esm/core/remult-knex/index.d.ts +0 -51
  213. package/esm/core/remult-knex/index.js +0 -392
  214. package/esm/core/remult-mongo.d.ts +0 -9
  215. package/esm/core/remult-mongo.js +0 -221
  216. package/esm/core/server/JsonEntityFileStorage.d.ts +0 -10
  217. package/esm/core/server/JsonEntityFileStorage.js +0 -24
  218. package/esm/core/server/expressBridge.d.ts +0 -102
  219. package/esm/core/server/expressBridge.js +0 -834
  220. package/esm/core/server/index.d.ts +0 -4
  221. package/esm/core/server/index.js +0 -7
  222. package/esm/core/server/initAsyncHooks.d.ts +0 -1
  223. package/esm/core/server/initAsyncHooks.js +0 -9
  224. package/esm/core/src/__EntityValueProvider.d.ts +0 -10
  225. package/esm/core/src/__EntityValueProvider.js +0 -1
  226. package/esm/core/src/__RowsOfDataForTesting.d.ts +0 -3
  227. package/esm/core/src/__RowsOfDataForTesting.js +0 -1
  228. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -6
  229. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -123
  230. package/esm/core/src/backend-tests/my-test.backend-spec.d.ts +0 -1
  231. package/esm/core/src/backend-tests/my-test.backend-spec.js +0 -107
  232. package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +0 -1
  233. package/esm/core/src/backend-tests/test-http-server.backend-spec.js +0 -155
  234. package/esm/core/src/column-interfaces.d.ts +0 -95
  235. package/esm/core/src/column-interfaces.js +0 -7
  236. package/esm/core/src/column.d.ts +0 -49
  237. package/esm/core/src/column.js +0 -133
  238. package/esm/core/src/context.d.ts +0 -115
  239. package/esm/core/src/context.js +0 -271
  240. package/esm/core/src/data-api.d.ts +0 -33
  241. package/esm/core/src/data-api.js +0 -204
  242. package/esm/core/src/data-interfaces.d.ts +0 -37
  243. package/esm/core/src/data-interfaces.js +0 -12
  244. package/esm/core/src/data-providers/array-entity-data-provider.d.ts +0 -22
  245. package/esm/core/src/data-providers/array-entity-data-provider.js +0 -264
  246. package/esm/core/src/data-providers/in-memory-database.d.ts +0 -9
  247. package/esm/core/src/data-providers/in-memory-database.js +0 -16
  248. package/esm/core/src/data-providers/json-data-provider.d.ts +0 -12
  249. package/esm/core/src/data-providers/json-data-provider.js +0 -52
  250. package/esm/core/src/data-providers/rest-data-provider.d.ts +0 -38
  251. package/esm/core/src/data-providers/rest-data-provider.js +0 -201
  252. package/esm/core/src/data-providers/sql-database.d.ts +0 -16
  253. package/esm/core/src/data-providers/sql-database.js +0 -264
  254. package/esm/core/src/data-providers/web-sql-data-provider.d.ts +0 -18
  255. package/esm/core/src/data-providers/web-sql-data-provider.js +0 -121
  256. package/esm/core/src/entity.d.ts +0 -82
  257. package/esm/core/src/entity.js +0 -1
  258. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -50
  259. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +0 -139
  260. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -1
  261. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +0 -1
  262. package/esm/core/src/filter/filter-interfaces.d.ts +0 -85
  263. package/esm/core/src/filter/filter-interfaces.js +0 -467
  264. package/esm/core/src/id-entity.d.ts +0 -4
  265. package/esm/core/src/id-entity.js +0 -8
  266. package/esm/core/src/remult-proxy.d.ts +0 -2
  267. package/esm/core/src/remult-proxy.js +0 -52
  268. package/esm/core/src/remult3/DecoratorReplacer.d.ts +0 -10
  269. package/esm/core/src/remult3/DecoratorReplacer.js +0 -20
  270. package/esm/core/src/remult3/RepositoryImplementation.d.ts +0 -323
  271. package/esm/core/src/remult3/RepositoryImplementation.js +0 -1799
  272. package/esm/core/src/remult3/index.d.ts +0 -2
  273. package/esm/core/src/remult3/index.js +0 -2
  274. package/esm/core/src/remult3/remult3.d.ts +0 -312
  275. package/esm/core/src/remult3/remult3.js +0 -1
  276. package/esm/core/src/server-action.d.ts +0 -72
  277. package/esm/core/src/server-action.js +0 -372
  278. package/esm/core/src/shared-tests/db-tests-setup.d.ts +0 -23
  279. package/esm/core/src/shared-tests/db-tests-setup.js +0 -68
  280. package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +0 -26
  281. package/esm/core/src/shared-tests/db-tests.db-tests.js +0 -723
  282. package/esm/core/src/shared-tests/deleteAll.d.ts +0 -2
  283. package/esm/core/src/shared-tests/deleteAll.js +0 -4
  284. package/esm/core/src/shared-tests/entityWithValidations.d.ts +0 -14
  285. package/esm/core/src/shared-tests/entityWithValidations.js +0 -53
  286. package/esm/core/src/shared-tests/index.d.ts +0 -4
  287. package/esm/core/src/shared-tests/index.js +0 -4
  288. package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +0 -1
  289. package/esm/core/src/shared-tests/test-custom-id-column.spec.js +0 -63
  290. package/esm/core/src/shared-tests/test-special-value.spec.d.ts +0 -10
  291. package/esm/core/src/shared-tests/test-special-value.spec.js +0 -88
  292. package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +0 -1
  293. package/esm/core/src/shared-tests/test-update-with-null.spec.js +0 -45
  294. package/esm/core/src/sort.d.ts +0 -15
  295. package/esm/core/src/sort.js +0 -82
  296. package/esm/core/src/sql-command.d.ts +0 -15
  297. package/esm/core/src/sql-command.js +0 -1
  298. package/esm/core/src/tests/Done.d.ts +0 -5
  299. package/esm/core/src/tests/Done.js +0 -11
  300. package/esm/core/src/tests/TestDataApiResponse.d.ts +0 -10
  301. package/esm/core/src/tests/TestDataApiResponse.js +0 -22
  302. package/esm/core/src/tests/c.d.ts +0 -8
  303. package/esm/core/src/tests/c.js +0 -22
  304. package/esm/core/src/tests/createData.d.ts +0 -7
  305. package/esm/core/src/tests/createData.js +0 -22
  306. package/esm/core/src/tests/d.d.ts +0 -6
  307. package/esm/core/src/tests/d.js +0 -19
  308. package/esm/core/src/tests/dWithPrefilter.d.ts +0 -7
  309. package/esm/core/src/tests/dWithPrefilter.js +0 -32
  310. package/esm/core/src/tests/entityForCustomFilter.d.ts +0 -16
  311. package/esm/core/src/tests/entityForCustomFilter.js +0 -44
  312. package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +0 -5
  313. package/esm/core/src/tests/entityWithValidationsOnColumn.js +0 -21
  314. package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +0 -4
  315. package/esm/core/src/tests/frontend-database-tests-setup.spec.js +0 -38
  316. package/esm/core/src/tests/h.d.ts +0 -6
  317. package/esm/core/src/tests/h.js +0 -35
  318. package/esm/core/src/tests/remult-3-entities.d.ts +0 -23
  319. package/esm/core/src/tests/remult-3-entities.js +0 -72
  320. package/esm/core/src/tests/tasks.d.ts +0 -6
  321. package/esm/core/src/tests/tasks.js +0 -24
  322. package/esm/core/src/tests/testHelper.spec.d.ts +0 -34
  323. package/esm/core/src/tests/testHelper.spec.js +0 -222
  324. package/esm/core/src/tests/testModel/models.d.ts +0 -16
  325. package/esm/core/src/tests/testModel/models.js +0 -31
  326. package/esm/core/src/validators.d.ts +0 -14
  327. package/esm/core/src/validators.js +0 -33
  328. package/esm/core/src/valueConverters.d.ts +0 -12
  329. package/esm/core/src/valueConverters.js +0 -171
  330. package/esm/core/urlBuilder.d.ts +0 -6
  331. package/esm/core/urlBuilder.js +0 -19
  332. package/esm/live-query/ably.d.ts +0 -13
  333. package/esm/live-query/ably.js +0 -25
  334. package/esm/live-query/ablyLiveQuery.d.ts +0 -13
  335. package/esm/live-query/ablyLiveQuery.js +0 -25
  336. package/esm/live-query/index.d.ts +0 -2
  337. package/esm/live-query/index.js +0 -2
  338. package/esm/live-query/live-query.d.ts +0 -3
  339. package/esm/live-query/live-query.js +0 -2
  340. package/esm/live-query.d.ts +0 -3
  341. package/esm/live-query.js +0 -2
  342. package/esm/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -5
  343. package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -113
  344. package/esm/src/backend-tests/my-test.backend-spec.d.ts +0 -1
  345. package/esm/src/backend-tests/my-test.backend-spec.js +0 -59
  346. package/esm/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
  347. package/esm/src/backend-tests/test-http-server.backend-spec.js +0 -171
  348. package/esm/src/live-query/EventSourceLiveQuery.d.ts +0 -5
  349. package/esm/src/live-query/EventSourceLiveQuery.js +0 -48
  350. package/esm/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
  351. package/esm/src/live-query/EventSourceLiveQueryProvider.js +0 -55
  352. package/esm/src/live-query/LiveQuery.d.ts +0 -67
  353. package/esm/src/live-query/LiveQuery.js +0 -225
  354. package/esm/src/live-query/LiveQueryManager.d.ts +0 -32
  355. package/esm/src/live-query/LiveQueryManager.js +0 -99
  356. package/esm/src/live-query/LiveQueryPublisher.d.ts +0 -21
  357. package/esm/src/live-query/LiveQueryPublisher.js +0 -71
  358. package/esm/src/live-query/LiveQuerySubscriber.d.ts +0 -62
  359. package/esm/src/live-query/LiveQuerySubscriber.js +0 -215
  360. package/esm/src/live-query/ablyLiveQuery.d.ts +0 -13
  361. package/esm/src/live-query/ablyLiveQuery.js +0 -25
  362. package/esm/src/live-query/index.d.ts +0 -2
  363. package/esm/src/live-query/index.js +0 -1
  364. package/esm/src/remult3/getId.d.ts +0 -2
  365. package/esm/src/remult3/getId.js +0 -7
  366. package/esm/test-servers/shared/Task.d.ts +0 -9
  367. package/esm/test-servers/shared/Task.js +0 -62
  368. package/live-query/ably.d.ts +0 -13
  369. package/live-query/ably.js +0 -38
  370. package/live-query/ablyLiveQuery.d.ts +0 -13
  371. package/live-query/ablyLiveQuery.js +0 -38
  372. package/live-query/index.d.ts +0 -2
  373. package/live-query/index.js +0 -7
  374. package/live-query/live-query.d.ts +0 -3
  375. package/live-query/live-query.js +0 -10
  376. package/live-query.d.ts +0 -3
  377. package/live-query.js +0 -7
  378. package/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -6
  379. package/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -241
  380. package/src/backend-tests/my-test.backend-spec.d.ts +0 -1
  381. package/src/backend-tests/my-test.backend-spec.js +0 -217
  382. package/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
  383. package/src/backend-tests/test-http-server.backend-spec.js +0 -342
  384. package/src/live-query/EventSourceLiveQuery.d.ts +0 -5
  385. package/src/live-query/EventSourceLiveQuery.js +0 -62
  386. package/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
  387. package/src/live-query/EventSourceLiveQueryProvider.js +0 -62
  388. package/src/live-query/LiveQuery.d.ts +0 -67
  389. package/src/live-query/LiveQuery.js +0 -308
  390. package/src/live-query/LiveQueryManager.d.ts +0 -32
  391. package/src/live-query/LiveQueryManager.js +0 -198
  392. package/src/live-query/LiveQueryPublisher.d.ts +0 -21
  393. package/src/live-query/LiveQueryPublisher.js +0 -121
  394. package/src/live-query/LiveQuerySubscriber.d.ts +0 -62
  395. package/src/live-query/LiveQuerySubscriber.js +0 -335
  396. package/src/live-query/ablyLiveQuery.d.ts +0 -13
  397. package/src/live-query/ablyLiveQuery.js +0 -38
  398. package/src/remult3/getId.d.ts +0 -2
  399. package/src/remult3/getId.js +0 -11
  400. package/test-servers/shared/Task.d.ts +0 -9
  401. package/test-servers/shared/Task.js +0 -81
package/esm/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- export { Field, Fields, FieldsMetadata, Entity, EntityBase, ControllerBase, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, QueryResult, QueryOptions, Repository, FieldType, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, getFields, EntityRef, getEntityRef, SortSegments, ValueListFieldType, getValueList, ValueListFieldOptions, ValueListInfo, OmitEB, Paginator, CaptionTransformer } from './src/remult3';
2
- export { StringFieldOptions } from './src/remult3/RepositoryImplementation';
1
+ export { Field, Fields, StringFieldOptions, FieldsMetadata, Entity, EntityBase, ControllerBase, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, QueryResult, QueryOptions, Repository, FieldType, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, getFields, EntityRef, getEntityRef, SortSegments, ValueListFieldType, getValueList, ValueListFieldOptions, ValueListInfo, OmitEB, Paginator, CaptionTransformer } from './src/remult3';
3
2
  export { describeClass } from './src/remult3/DecoratorReplacer';
4
3
  export { EntityOptions } from './src/entity';
5
4
  export { DataProvider, EntityDataProvider, EntityDataProviderFindOptions, ErrorInfo, RestDataProviderHttpProvider } from './src/data-interfaces';
@@ -43,7 +43,7 @@ export class PostgresSchemaBuilder {
43
43
  }
44
44
  }
45
45
  async verifyStructureOfAllEntities(remult) {
46
- console.log("start verify structure"); //keep me
46
+ console.log("start verify structure");
47
47
  for (const entityClass of allEntities) {
48
48
  let entity = remult.repo(entityClass).metadata;
49
49
  let e = await getDbNameProvider(entity);
@@ -56,7 +56,7 @@ export class PostgresSchemaBuilder {
56
56
  }
57
57
  }
58
58
  catch (err) {
59
- /*keep me */ console.log("failed verify structure of " + e.entityName + " ", err);
59
+ console.log("failed verify structure of " + e.entityName + " ", err);
60
60
  }
61
61
  }
62
62
  }
@@ -102,7 +102,7 @@ export class PostgresSchemaBuilder {
102
102
  }
103
103
  }
104
104
  catch (err) {
105
- console.error(err);
105
+ console.log(err);
106
106
  }
107
107
  }
108
108
  async verifyAllColumns(entity) {
@@ -122,7 +122,7 @@ export class PostgresSchemaBuilder {
122
122
  }
123
123
  }
124
124
  catch (err) {
125
- console.error(err);
125
+ console.log(err);
126
126
  }
127
127
  }
128
128
  }
@@ -1,30 +1,6 @@
1
1
  import * as express from 'express';
2
2
  import { RemultServer, RemultServerOptions } from './server/expressBridge';
3
- import { Remult } from './src/context';
4
- import { ServerEventChannelSubscribeDTO } from './src/live-query/LiveQuerySubscriber';
5
- import { ServerEventDispatcher } from './src/live-query/LiveQueryPublisher';
6
3
  export declare function remultExpress(options?: RemultServerOptions<express.Request> & {
7
4
  bodyParser?: boolean;
8
5
  bodySizeLimit?: string;
9
- serverEventDispatcher?: (router: express.Router, server: RemultServer) => ServerEventDispatcher;
10
6
  }): express.RequestHandler & RemultServer;
11
- export declare class ServerEventsController implements ServerEventDispatcher {
12
- private canUserConnectToChannel?;
13
- subscribeToChannel({ channel, clientId }: ServerEventChannelSubscribeDTO, res: import('express').Response, remult: Remult, remove?: boolean): void;
14
- consoleInfo(): void;
15
- connections: clientConnection[];
16
- constructor(canUserConnectToChannel?: (channel: string, remult: Remult) => boolean);
17
- sendChannelMessage<T>(channel: string, message: any): void;
18
- openHttpServerStream(req: import('express').Request, res: import('express').Response): clientConnection;
19
- }
20
- declare class clientConnection {
21
- response: import('express').Response;
22
- channels: Record<string, boolean>;
23
- close(): void;
24
- closed: boolean;
25
- write(eventData: string, eventType?: string): void;
26
- connectionId: any;
27
- constructor(response: import('express').Response);
28
- sendLiveMessage(): void;
29
- }
30
- export {};
@@ -1,9 +1,5 @@
1
1
  import * as express from 'express';
2
- import { createRemultServer } from './server/expressBridge';
3
- import { streamUrl } from './src/live-query/LiveQuerySubscriber';
4
- import { LiveQueryPublisher } from './src/live-query/LiveQueryPublisher';
5
- import { v4 as uuid } from 'uuid';
6
- import { remult } from './src/remult-proxy';
2
+ import { createRemultServer } from './server/index';
7
3
  export function remultExpress(options) {
8
4
  let app = express.Router();
9
5
  if (!options) {
@@ -18,12 +14,6 @@ export function remultExpress(options) {
18
14
  }
19
15
  const server = createRemultServer(options);
20
16
  server.registerRouter(app);
21
- if (!options.serverEventDispatcher) {
22
- options.serverEventDispatcher = (router, server) => {
23
- return buildHttpServerEventDispatcher(router, options.rootPath, server);
24
- };
25
- }
26
- server.liveQueryManager = new LiveQueryPublisher(options.serverEventDispatcher(app, server));
27
17
  return Object.assign(app, {
28
18
  getRemult: (req) => server.getRemult(req),
29
19
  openApiDoc: (options) => server.openApiDoc(options),
@@ -31,105 +21,3 @@ export function remultExpress(options) {
31
21
  withRemult: (...args) => server.withRemult(...args)
32
22
  });
33
23
  }
34
- export class ServerEventsController {
35
- constructor(canUserConnectToChannel) {
36
- this.canUserConnectToChannel = canUserConnectToChannel;
37
- this.connections = [];
38
- if (!this.canUserConnectToChannel) {
39
- this.canUserConnectToChannel = () => true;
40
- }
41
- }
42
- subscribeToChannel({ channel, clientId }, res, remult, remove = false) {
43
- for (const c of this.connections) {
44
- if (c.connectionId === clientId) {
45
- if (this.canUserConnectToChannel(channel, remult)) {
46
- c.channels[channel] = !remove;
47
- res.json("ok");
48
- return;
49
- }
50
- else {
51
- res.sendStatus(403);
52
- return;
53
- }
54
- }
55
- }
56
- res.sendStatus(404);
57
- }
58
- consoleInfo() {
59
- console.info(this.connections.map(x => ({
60
- client: x.connectionId,
61
- channels: x.channels
62
- })));
63
- }
64
- sendChannelMessage(channel, message) {
65
- const data = JSON.stringify({ channel, data: message });
66
- for (const sc of this.connections) {
67
- if (sc.channels[channel]) {
68
- sc.write(data);
69
- }
70
- }
71
- }
72
- openHttpServerStream(req, res) {
73
- res.writeHead(200, {
74
- 'Content-Type': 'text/event-stream',
75
- 'Cache-Control': 'no-cache',
76
- 'Connection': 'keep-alive'
77
- });
78
- const cc = new clientConnection(res);
79
- //const lastEventId = req.headers['last-event-id'];
80
- this.connections.push(cc);
81
- req.on("close", () => {
82
- cc.close();
83
- this.connections = this.connections.filter(s => s !== cc);
84
- });
85
- return cc;
86
- }
87
- }
88
- class clientConnection {
89
- constructor(response) {
90
- this.response = response;
91
- this.channels = {};
92
- this.closed = false;
93
- this.connectionId = uuid();
94
- this.write(this.connectionId, "connectionId");
95
- this.sendLiveMessage();
96
- }
97
- close() {
98
- this.closed = true;
99
- }
100
- write(eventData, eventType = "message") {
101
- let event = "event:" + eventType;
102
- // if (id != undefined)
103
- // event += "\nid:" + id;
104
- this.response.write(event + "\ndata:" + eventData + "\n\n");
105
- let r = this.response;
106
- if (r.flush)
107
- r.flush();
108
- }
109
- sendLiveMessage() {
110
- if (this.closed)
111
- return;
112
- this.write("", "keep-alive");
113
- setTimeout(() => {
114
- this.sendLiveMessage();
115
- }, 45000);
116
- }
117
- }
118
- function buildHttpServerEventDispatcher(router, apiPath, server) {
119
- const streamPath = apiPath + '/' + streamUrl;
120
- let httpServerEvents = new ServerEventsController();
121
- router.get(streamPath, (r, res, next) => server.withRemult(r, res, next), (req, res) => {
122
- remult.liveQueryPublisher.dispatcher.openHttpServerStream(req, res);
123
- });
124
- router.post(streamPath + '/subscribe', (r, res, next) => server.withRemult(r, res, next), (req, res) => {
125
- remult.liveQueryPublisher.dispatcher.subscribeToChannel(req.body, res, remult);
126
- });
127
- router.post(streamPath + '/unsubscribe', (r, res, next) => server.withRemult(r, res, next), (req, res) => {
128
- remult.liveQueryPublisher.dispatcher.subscribeToChannel(req.body, res, remult, true);
129
- });
130
- router.get(streamPath + '/stats', (r, res, next) => server.withRemult(r, res, next), (req, res) => {
131
- remult.liveQueryPublisher.dispatcher.consoleInfo();
132
- res.json("ok");
133
- });
134
- return httpServerEvents;
135
- }
@@ -1,4 +1,4 @@
1
- import { createRemultServer } from './server/expressBridge';
1
+ import { createRemultServer } from './server/index';
2
2
  export function remultFastify(options) {
3
3
  function fastifyHandler(handler) {
4
4
  const response = (req, res) => {
@@ -1,6 +1,6 @@
1
- import { createRemultServer } from "./server/expressBridge";
1
+ import { createRemultServerCore } from "./server/expressBridge";
2
2
  export function remultFresh(options, response) {
3
- const server = createRemultServer(options);
3
+ const server = createRemultServerCore(options);
4
4
  return {
5
5
  getRemult: r => server.getRemult(r),
6
6
  openApiDoc: x => server.openApiDoc(x),
@@ -153,8 +153,15 @@ class KnexEntityDataProvider {
153
153
  }
154
154
  let insert = this.knex(e.entityName).insert(insertObject);
155
155
  if (isAutoIncrement(this.entity.idMetadata.field)) {
156
- let result = await insert.returning(this.entity.idMetadata.field.key);
157
- let newId = result[0].id;
156
+ let newId;
157
+ if (this.knex.client.config.client === 'mysql2') {
158
+ let result = await insert;
159
+ newId = result[0];
160
+ }
161
+ else {
162
+ let result = await insert.returning(this.entity.idMetadata.field.key);
163
+ newId = result[0].id;
164
+ }
158
165
  resultFilter = new Filter(x => x.isEqualTo(this.entity.idMetadata.field, newId));
159
166
  }
160
167
  else
@@ -256,7 +263,7 @@ export class KnexSchemaBuilder {
256
263
  this.additionalWhere = '';
257
264
  }
258
265
  async verifyStructureOfAllEntities(remult) {
259
- console.info("start verify structure");
266
+ console.log("start verify structure");
260
267
  for (const entity of allEntities) {
261
268
  let metadata = remult.repo(entity).metadata;
262
269
  try {
@@ -319,7 +326,7 @@ export class KnexSchemaBuilder {
319
326
  }
320
327
  }
321
328
  catch (err) {
322
- console.error(err);
329
+ console.log(err);
323
330
  }
324
331
  }
325
332
  }
File without changes
File without changes
@@ -1,11 +1,9 @@
1
- import { ActionInterface, queuedJobInfoResponse } from '../src/server-action';
1
+ import { queuedJobInfoResponse } from '../src/server-action';
2
2
  import { DataProvider } from '../src/data-interfaces';
3
- import { DataApi, DataApiRequest, DataApiResponse } from '../src/data-api';
4
- import { AllowedForInstance, Remult, UserInfo } from '../src/context';
3
+ import { Remult, UserInfo } from '../src/context';
5
4
  import { ClassType } from '../classType';
6
5
  import { Repository } from '../src/remult3';
7
6
  import { IdEntity } from '../src/id-entity';
8
- import { LiveQueryPublisher } from '../src/live-query/LiveQueryPublisher';
9
7
  export interface RemultServerOptions<RequestType extends GenericRequest> {
10
8
  /** Sets a database connection for Remult.
11
9
  *
@@ -22,7 +20,7 @@ export interface RemultServerOptions<RequestType extends GenericRequest> {
22
20
  controllers?: ClassType<any>[];
23
21
  rootPath?: string;
24
22
  }
25
- export declare function createRemultServer<RequestType extends GenericRequest = GenericRequest>(options?: RemultServerOptions<RequestType>): RemultServer;
23
+ export declare function createRemultServerCore<RequestType extends GenericRequest = GenericRequest>(options?: RemultServerOptions<RequestType>): RemultServer;
26
24
  export declare type GenericRequestHandler = (req: GenericRequest, res: GenericResponse, next: VoidFunction) => void;
27
25
  export interface ServerHandleResponse {
28
26
  data?: any;
@@ -59,39 +57,14 @@ export interface GenericResponse {
59
57
  status(statusCode: number): GenericResponse;
60
58
  end(): any;
61
59
  }
62
- export declare class RemultServerImplementation implements RemultServer {
63
- queue: inProcessQueueHandler;
64
- options: RemultServerOptions<GenericRequest>;
65
- dataProvider: DataProvider | Promise<DataProvider>;
66
- constructor(queue: inProcessQueueHandler, options: RemultServerOptions<GenericRequest>, dataProvider: DataProvider | Promise<DataProvider>);
67
- liveQueryManager: LiveQueryPublisher;
68
- withRemult<T>(req: GenericRequest, res: GenericResponse, next: VoidFunction): void;
69
- routeImpl: RouteImplementation;
70
- handle(req: GenericRequest, gRes?: GenericResponse): Promise<ServerHandleResponse>;
71
- registeredRouter: boolean;
72
- registerRouter(r: GenericRouter): void;
73
- add(key: string, dataApiFactory: ((req: Remult) => DataApi), r: GenericRouter): void;
74
- process(what: (remult: Remult, myReq: DataApiRequest, myRes: DataApiResponse, origReq: GenericRequest) => Promise<void>): (req: GenericRequest, res: GenericResponse) => Promise<void>;
75
- getRemult(req: GenericRequest): Promise<Remult>;
76
- hasQueue: boolean;
77
- addAction(action: ActionInterface, r: GenericRouter): void;
78
- openApiDoc(options: {
79
- title: string;
80
- version?: string;
81
- }): any;
82
- backendMethodsOpenApi: {
83
- path: string;
84
- allowed: AllowedForInstance<any>;
85
- tag: string;
86
- }[];
87
- }
88
- declare class inProcessQueueHandler {
89
- private storage;
90
- constructor(storage: QueueStorage);
91
- submitJob(url: string, req: Remult, body: any): Promise<string>;
92
- mapQueuedAction(url: string, what: (data: any, r: Remult, res: ApiActionResponse) => void): void;
93
- actions: Map<string, (data: any, r: Remult, res: ApiActionResponse) => void>;
94
- getJobInfo(queuedJobId: string): Promise<queuedJobInfo>;
60
+ export declare class RemultAsyncLocalStorage {
61
+ private readonly remultObjectStorage;
62
+ static enable(): void;
63
+ static disable(): void;
64
+ constructor(remultObjectStorage: import('async_hooks').AsyncLocalStorage<Remult>);
65
+ run(remult: Remult, callback: VoidFunction): void;
66
+ getRemult(): Remult;
67
+ static instance: RemultAsyncLocalStorage;
95
68
  }
96
69
  export interface queuedJobInfo {
97
70
  info: queuedJobInfoResponse;
@@ -117,12 +90,6 @@ export declare class EntityQueueStorage implements QueueStorage {
117
90
  getJobInfo(queuedJobId: string): Promise<queuedJobInfo>;
118
91
  createJob(url: string, userId: string): Promise<string>;
119
92
  }
120
- declare class RouteImplementation {
121
- map: Map<string, Map<string, GenericRequestHandler>>;
122
- route(path: string): SpecificRoute;
123
- handle(req: GenericRequest, gRes?: GenericResponse): Promise<ServerHandleResponse | undefined>;
124
- middleware(req: GenericRequest, res: GenericResponse, next: VoidFunction): void;
125
- }
126
93
  export declare class JobsInQueueEntity extends IdEntity {
127
94
  userId: string;
128
95
  url: string;
@@ -133,4 +100,3 @@ export declare class JobsInQueueEntity extends IdEntity {
133
100
  error: boolean;
134
101
  progress: number;
135
102
  }
136
- export {};
@@ -6,7 +6,7 @@ import { Entity, Fields, getEntityKey } from '../src/remult3';
6
6
  import { IdEntity } from '../src/id-entity';
7
7
  import { remult } from '../src/remult-proxy';
8
8
  ;
9
- export function createRemultServer(options) {
9
+ export function createRemultServerCore(options) {
10
10
  if (!options) {
11
11
  options = {};
12
12
  }
@@ -30,30 +30,12 @@ export function createRemultServer(options) {
30
30
  return dp;
31
31
  return new (await import('./JsonEntityFileStorage')).JsonFileDataProvider('./db');
32
32
  });
33
- if (!remultObjectStorage) {
34
- dataProvider = dataProvider.then(async (dp) => {
35
- try {
36
- const asyncHooks = await import('async_hooks');
37
- remultObjectStorage = new RemultAsyncLocalStorage(new asyncHooks.AsyncLocalStorage());
38
- }
39
- catch {
40
- remultObjectStorage = new RemultAsyncLocalStorage(undefined);
41
- }
42
- remult.remultFactory = () => {
43
- const r = remultObjectStorage.getRemult();
44
- if (r)
45
- return r;
46
- else
47
- throw new Error("remult object was requested outside of a valid context, try running it within initApi or a remult request cycle");
48
- };
49
- return dp;
50
- });
51
- }
33
+ RemultAsyncLocalStorage.enable();
52
34
  if (options.initApi) {
53
35
  dataProvider = dataProvider.then(async (dp) => {
54
36
  var remult = new Remult(dp);
55
37
  await new Promise((res) => {
56
- remultObjectStorage.run(remult, async () => {
38
+ RemultAsyncLocalStorage.instance.run(remult, async () => {
57
39
  await options.initApi(remult);
58
40
  res({});
59
41
  });
@@ -78,10 +60,22 @@ export function createRemultServer(options) {
78
60
  return bridge;
79
61
  }
80
62
  ;
81
- class RemultAsyncLocalStorage {
63
+ export class RemultAsyncLocalStorage {
82
64
  constructor(remultObjectStorage) {
83
65
  this.remultObjectStorage = remultObjectStorage;
84
66
  }
67
+ static enable() {
68
+ remult.remultFactory = () => {
69
+ const r = RemultAsyncLocalStorage.instance.getRemult();
70
+ if (r)
71
+ return r;
72
+ else
73
+ throw new Error("remult object was requested outside of a valid context, try running it within initApi or a remult request cycle");
74
+ };
75
+ }
76
+ static disable() {
77
+ remult.resetFactory();
78
+ }
85
79
  run(remult, callback) {
86
80
  if (this.remultObjectStorage)
87
81
  this.remultObjectStorage.run(remult, callback);
@@ -90,13 +84,13 @@ class RemultAsyncLocalStorage {
90
84
  }
91
85
  getRemult() {
92
86
  if (!this.remultObjectStorage) {
93
- throw "can't use static remult in this environment, `async_hooks` were not found";
87
+ throw new Error("can't use static remult in this environment, `async_hooks` were not initialized");
94
88
  }
95
89
  return this.remultObjectStorage.getStore();
96
90
  }
97
91
  }
98
- let remultObjectStorage;
99
- export class RemultServerImplementation {
92
+ RemultAsyncLocalStorage.instance = new RemultAsyncLocalStorage(undefined);
93
+ class RemultServerImplementation {
100
94
  constructor(queue, options, dataProvider) {
101
95
  this.queue = queue;
102
96
  this.options = options;
@@ -162,7 +156,7 @@ export class RemultServerImplementation {
162
156
  add(key, dataApiFactory, r) {
163
157
  let myRoute = this.options.rootPath + '/' + key;
164
158
  if (this.options.logApiEndPoints)
165
- console.info("[remult] " + myRoute);
159
+ console.log("[remult] " + myRoute);
166
160
  r.route(myRoute)
167
161
  .get(this.process((c, req, res) => dataApiFactory(c).httpGet(res, req))).put(this.process(async (c, req, res, orig) => dataApiFactory(c).put(res, '', orig.body)))
168
162
  .delete(this.process(async (c, req, res, orig) => dataApiFactory(c).delete(res, '')))
@@ -180,10 +174,9 @@ export class RemultServerImplementation {
180
174
  let myReq = new ExpressRequestBridgeToDataApiRequest(req);
181
175
  let myRes = new ExpressResponseBridgeToDataApiResponse(res, req);
182
176
  let remult = new Remult();
183
- remult.liveQueryPublisher = this.liveQueryManager;
184
177
  remult.dataProvider = (await this.dataProvider);
185
178
  await new Promise(res => {
186
- remultObjectStorage.run(remult, async () => {
179
+ RemultAsyncLocalStorage.instance.run(remult, async () => {
187
180
  if (req) {
188
181
  let user;
189
182
  if (this.options.getUser)
@@ -225,7 +218,7 @@ export class RemultServerImplementation {
225
218
  })();
226
219
  this.backendMethodsOpenApi.push({ path: myUrl, allowed, tag });
227
220
  if (this.options.logApiEndPoints)
228
- console.info("[remult] " + myUrl);
221
+ console.log("[remult] " + myUrl);
229
222
  if (queue) {
230
223
  this.hasQueue = true;
231
224
  this.queue.mapQueuedAction(myUrl, what);
@@ -1,2 +1,4 @@
1
- export { queuedJobInfo, QueueStorage, GenericRequest, GenericRequestHandler, GenericResponse, GenericRouter, createRemultServer, RemultServerOptions, SpecificRoute, RemultServer } from './expressBridge';
1
+ import { GenericRequest, RemultServer, RemultServerOptions } from './expressBridge';
2
+ export { queuedJobInfo, QueueStorage, GenericRequest, GenericRequestHandler, GenericResponse, GenericRouter, RemultServerOptions, SpecificRoute, RemultServer } from './expressBridge';
2
3
  export { JsonEntityFileStorage, JsonFileDataProvider } from './JsonEntityFileStorage';
4
+ export declare function createRemultServer<RequestType extends GenericRequest = GenericRequest>(options?: RemultServerOptions<RequestType>): RemultServer;
@@ -1,2 +1,7 @@
1
- export { createRemultServer } from './expressBridge';
1
+ import { createRemultServerCore } from './expressBridge';
2
+ import { initAsyncHooks } from './initAsyncHooks';
2
3
  export { JsonEntityFileStorage, JsonFileDataProvider } from './JsonEntityFileStorage';
4
+ export function createRemultServer(options) {
5
+ initAsyncHooks();
6
+ return createRemultServerCore(options);
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { ClassType } from '../classType';
2
2
  import { FieldMetadata, FieldOptions, ValueConverter } from './column-interfaces';
3
3
  import { Filter } from './filter/filter-interfaces';
4
- import { EntityFilter, FindOptions, idType, Repository, RepositoryImplementation } from './remult3';
4
+ import { EntityFilter, FindOptions, Repository, RepositoryImplementation } from './remult3';
5
5
  export declare function makeTitle(name: string): string;
6
6
  export declare class CompoundIdField implements FieldMetadata<string> {
7
7
  fields: FieldMetadata[];
@@ -25,12 +25,12 @@ export declare class CompoundIdField implements FieldMetadata<string> {
25
25
  }
26
26
  export declare class LookupColumn<T> {
27
27
  private repository;
28
- id: idType<T>;
28
+ id: string;
29
29
  setId(val: any): void;
30
30
  waitLoadOf(id: any): Promise<T>;
31
31
  get(id: any): any;
32
32
  set(item: T): void;
33
- constructor(repository: RepositoryImplementation<T>, id: idType<T>);
33
+ constructor(repository: RepositoryImplementation<T>, id: string);
34
34
  get item(): T;
35
35
  waitLoad(): Promise<T>;
36
36
  }
@@ -2,8 +2,6 @@ import { DataProvider, RestDataProviderHttpProvider } from "./data-interfaces";
2
2
  import { RestDataProviderHttpProviderUsingFetch } from './data-providers/rest-data-provider';
3
3
  import { EntityMetadata, EntityRef, FindOptions, Repository } from "./remult3";
4
4
  import { ClassType } from "../classType";
5
- import { LiveQueryClient } from "./live-query/LiveQuerySubscriber";
6
- import type { ServerEventDispatcher } from "../live-query";
7
5
  export interface ExternalHttpProvider {
8
6
  post(url: string, data: any): Promise<any> | {
9
7
  toPromise(): Promise<any>;
@@ -64,11 +62,9 @@ export declare class Remult {
64
62
  constructor(http: ExternalHttpProvider | typeof fetch | ApiClient);
65
63
  constructor(p: DataProvider);
66
64
  constructor();
67
- liveQueryPublisher: LiveQueryPublisherInterface;
68
65
  call<T extends ((...args: any[]) => Promise<any>)>(backendMethod: T, classInstance?: any, ...args: GetArguments<T>): ReturnType<T>;
69
66
  /** The current data provider */
70
67
  dataProvider: DataProvider;
71
- liveQuerySubscriber: LiveQueryClient;
72
68
  /** A helper callback that can be used to debug and trace all find operations. Useful in debugging scenarios */
73
69
  static onFind: (metadata: EntityMetadata, options: FindOptions<any>) => void;
74
70
  clearAllCache(): any;
@@ -117,16 +113,3 @@ export declare class EventSource {
117
113
  fire(): Promise<void>;
118
114
  dispatcher: EventDispatcher;
119
115
  }
120
- export interface LiveQueryPublisherInterface {
121
- stopLiveQuery(id: any): void;
122
- sendChannelMessage<messageType>(channel: string, message: messageType): void;
123
- defineLiveQueryChannel(repo: Repository<any>, options: FindOptions<any>, remult: Remult, ids: any[]): string;
124
- itemChanged(entityKey: string, changes: itemChange[]): void;
125
- dispatcher: ServerEventDispatcher;
126
- }
127
- export interface itemChange {
128
- id: any;
129
- oldId: any;
130
- deleted: boolean;
131
- }
132
- export declare function doTransaction(remult: Remult, what: () => Promise<void>): Promise<void>;
@@ -1,9 +1,6 @@
1
1
  import { actionInfo, serverActionField } from './server-action';
2
2
  import { RestDataProvider, RestDataProviderHttpProviderUsingFetch } from './data-providers/rest-data-provider';
3
3
  import { RepositoryImplementation } from "./remult3/RepositoryImplementation";
4
- import { LiveQueryClient } from "./live-query/LiveQuerySubscriber";
5
- import { EventSourceLiveQueryProvider } from "./live-query/EventSourceLiveQueryProvider";
6
- import { RemultProxy } from "./remult-proxy";
7
4
  export class HttpProviderBridgeToRestDataProviderHttpProvider {
8
5
  constructor(http) {
9
6
  this.http = http;
@@ -98,20 +95,8 @@ export class Remult {
98
95
  constructor(provider) {
99
96
  /* @internal */
100
97
  this.repCache = new Map();
101
- this.liveQueryPublisher = {
102
- itemChanged: () => { },
103
- defineLiveQueryChannel: () => "",
104
- dispatcher: undefined,
105
- sendChannelMessage: function (arg0, what) {
106
- throw new Error("invalid publisher.");
107
- },
108
- stopLiveQuery: function (id) {
109
- throw new Error("Function not implemented.");
110
- }
111
- };
112
98
  /** The current data provider */
113
99
  this.dataProvider = new RestDataProvider(() => this.apiClient);
114
- this.liveQuerySubscriber = new LiveQueryClient(new EventSourceLiveQueryProvider());
115
100
  this.context = {};
116
101
  this.apiClient = {
117
102
  url: '/api'
@@ -202,7 +187,6 @@ export class Remult {
202
187
  else
203
188
  return this.isAllowed(allowed);
204
189
  }
205
- //@ts-ignore // type error of typescript regarding args that doesn't appear in my normal development
206
190
  call(backendMethod, classInstance, ...args) {
207
191
  const z = (backendMethod[serverActionField]);
208
192
  if (!z.doWork)
@@ -216,7 +200,6 @@ export class Remult {
216
200
  }
217
201
  /** A helper callback that can be used to debug and trace all find operations. Useful in debugging scenarios */
218
202
  Remult.onFind = (metadata, options) => { };
219
- RemultProxy.defaultRemult = new Remult();
220
203
  ;
221
204
  export const allEntities = [];
222
205
  export const classHelpers = new Map();
@@ -286,62 +269,3 @@ export class EventSource {
286
269
  }
287
270
  }
288
271
  }
289
- export async function doTransaction(remult, what) {
290
- return await remult.dataProvider.transaction(async (ds) => {
291
- remult.dataProvider = (ds);
292
- const trans = new transactionLiveQueryPublisher(remult.liveQueryPublisher);
293
- remult.liveQueryPublisher = trans;
294
- await what();
295
- trans.flush();
296
- });
297
- }
298
- class transactionLiveQueryPublisher {
299
- constructor(orig) {
300
- this.orig = orig;
301
- this.transactionItems = new Map();
302
- }
303
- stopLiveQuery(id) {
304
- this.orig.stopLiveQuery(id);
305
- }
306
- itemChanged(entityKey, changes) {
307
- let items = this.transactionItems.get(entityKey);
308
- if (!items) {
309
- this.transactionItems.set(entityKey, items = []);
310
- }
311
- for (const c of changes) {
312
- if (c.oldId !== undefined) {
313
- const item = items.find(y => y.id === c.oldId);
314
- if (item !== undefined) {
315
- if (c.deleted)
316
- item.deleted = true;
317
- if (c.id != item.id)
318
- item.id = c.id;
319
- }
320
- else
321
- items.push(c);
322
- }
323
- else
324
- items.push(c);
325
- }
326
- }
327
- flush() {
328
- //TODO - figure out and resolve
329
- setTimeout(() => {
330
- for (const key of this.transactionItems.keys()) {
331
- this.orig.itemChanged(key, this.transactionItems.get(key));
332
- }
333
- }, 100);
334
- }
335
- sendChannelMessage(channel, message) {
336
- this.orig.sendChannelMessage(channel, message);
337
- }
338
- defineLiveQueryChannel(repo, options, remult, ids) {
339
- return this.orig.defineLiveQueryChannel(repo, options, remult, ids);
340
- }
341
- get dispatcher() {
342
- return this.orig.dispatcher;
343
- }
344
- set dispatcher(value) {
345
- this.orig.dispatcher = value;
346
- }
347
- }