remult 0.17.0-exp.7 → 0.17.0-exp.9

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 (356) hide show
  1. package/README.md +28 -5
  2. package/{assign.d.ts → core/assign.d.ts} +0 -0
  3. package/{assign.js → core/assign.js} +0 -0
  4. package/{classType.d.ts → core/classType.d.ts} +0 -0
  5. package/{classType.js → core/classType.js} +0 -0
  6. package/{esm → core}/graphql.d.ts +0 -0
  7. package/{graphql.js → core/graphql.js} +0 -0
  8. package/{esm → core}/index.d.ts +1 -2
  9. package/{index.js → core/index.js} +0 -0
  10. package/{esm → core}/inputTypes.d.ts +0 -0
  11. package/{inputTypes.js → core/inputTypes.js} +0 -0
  12. package/{esm → core}/postgres/index.d.ts +0 -0
  13. package/{postgres → core/postgres}/index.js +0 -0
  14. package/{esm → core}/postgres/postgres-data-provider.d.ts +0 -0
  15. package/{postgres → core/postgres}/postgres-data-provider.js +0 -0
  16. package/{esm → core}/postgres/schema-builder.d.ts +0 -0
  17. package/{postgres → core/postgres}/schema-builder.js +4 -4
  18. package/core/remult-express.d.ts +6 -0
  19. package/core/remult-express.js +34 -0
  20. package/{esm → core}/remult-fastify.d.ts +0 -0
  21. package/{remult-fastify.js → core/remult-fastify.js} +2 -2
  22. package/{esm → core}/remult-fresh.d.ts +0 -0
  23. package/{remult-fresh.js → core/remult-fresh.js} +1 -1
  24. package/{esm → core}/remult-knex/index.d.ts +0 -0
  25. package/{remult-knex → core/remult-knex}/index.js +18 -10
  26. package/{esm → core}/remult-mongo.d.ts +0 -0
  27. package/{remult-mongo.js → core/remult-mongo.js} +0 -0
  28. package/{esm → core}/server/JsonEntityFileStorage.d.ts +0 -0
  29. package/{server → core/server}/JsonEntityFileStorage.js +0 -0
  30. package/{esm/server/index.d.ts → core/server/core.d.ts} +1 -1
  31. package/{server/index.js → core/server/core.js} +2 -2
  32. package/{esm → core}/server/expressBridge.d.ts +11 -45
  33. package/{server → core/server}/expressBridge.js +23 -40
  34. package/core/server/index.d.ts +4 -0
  35. package/core/server/index.js +13 -0
  36. package/{esm → core}/server/initAsyncHooks.d.ts +0 -0
  37. package/{server → core/server}/initAsyncHooks.js +0 -0
  38. package/{esm → core}/src/__EntityValueProvider.d.ts +0 -0
  39. package/{src → core/src}/__EntityValueProvider.js +0 -0
  40. package/{esm → core}/src/__RowsOfDataForTesting.d.ts +0 -0
  41. package/{src → core/src}/__RowsOfDataForTesting.js +0 -0
  42. package/{esm → core}/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +1 -0
  43. package/{src → core/src}/backend-tests/backend-database-test-setup.backend-spec.js +11 -1
  44. package/{esm → core}/src/backend-tests/my-test.backend-spec.d.ts +0 -0
  45. package/{src → core/src}/backend-tests/my-test.backend-spec.js +57 -0
  46. package/{esm/classType.js → core/src/backend-tests/test-http-server.backend-spec.d.ts} +0 -0
  47. package/{src → core/src}/backend-tests/test-http-server.backend-spec.js +59 -50
  48. package/{esm → core}/src/column-interfaces.d.ts +0 -0
  49. package/{src → core/src}/column-interfaces.js +0 -0
  50. package/{src → core/src}/column.d.ts +3 -3
  51. package/{src → core/src}/column.js +0 -0
  52. package/{esm → core}/src/context.d.ts +0 -17
  53. package/{src → core/src}/context.js +1 -126
  54. package/{esm → core}/src/data-api.d.ts +0 -0
  55. package/{src → core/src}/data-api.js +33 -104
  56. package/{esm → core}/src/data-interfaces.d.ts +0 -0
  57. package/{src → core/src}/data-interfaces.js +0 -0
  58. package/{esm → core}/src/data-providers/array-entity-data-provider.d.ts +0 -0
  59. package/{src → core/src}/data-providers/array-entity-data-provider.js +16 -1
  60. package/{esm → core}/src/data-providers/in-memory-database.d.ts +0 -0
  61. package/{src → core/src}/data-providers/in-memory-database.js +0 -0
  62. package/{esm → core}/src/data-providers/json-data-provider.d.ts +0 -0
  63. package/{src → core/src}/data-providers/json-data-provider.js +0 -0
  64. package/{src → core/src}/data-providers/rest-data-provider.d.ts +0 -4
  65. package/{src → core/src}/data-providers/rest-data-provider.js +7 -11
  66. package/{esm → core}/src/data-providers/sql-database.d.ts +0 -0
  67. package/{src → core/src}/data-providers/sql-database.js +1 -1
  68. package/{esm → core}/src/data-providers/web-sql-data-provider.d.ts +0 -0
  69. package/{src → core/src}/data-providers/web-sql-data-provider.js +1 -1
  70. package/{esm → core}/src/entity.d.ts +0 -0
  71. package/{src → core/src}/entity.js +0 -0
  72. package/{esm → core}/src/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -0
  73. package/{src → core/src}/filter/filter-consumer-bridge-to-sql-request.js +0 -0
  74. package/{esm → core}/src/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -0
  75. package/{src → core/src}/filter/filter-consumer-bridge-to-url-builder.js +0 -0
  76. package/{esm → core}/src/filter/filter-interfaces.d.ts +0 -0
  77. package/{src → core/src}/filter/filter-interfaces.js +0 -0
  78. package/{esm → core}/src/id-entity.d.ts +0 -0
  79. package/{src → core/src}/id-entity.js +0 -0
  80. package/core/src/remult-proxy.d.ts +2 -0
  81. package/{src → core/src}/remult-proxy.js +9 -19
  82. package/{esm → core}/src/remult3/DecoratorReplacer.d.ts +0 -0
  83. package/{src → core/src}/remult3/DecoratorReplacer.js +0 -0
  84. package/{src → core/src}/remult3/RepositoryImplementation.d.ts +3 -6
  85. package/{src → core/src}/remult3/RepositoryImplementation.js +42 -68
  86. package/{esm → core}/src/remult3/index.d.ts +0 -0
  87. package/{src → core/src}/remult3/index.js +0 -0
  88. package/{esm → core}/src/remult3/remult3.d.ts +6 -10
  89. package/{src → core/src}/remult3/remult3.js +0 -0
  90. package/{src → core/src}/server-action.d.ts +0 -4
  91. package/{src → core/src}/server-action.js +11 -10
  92. package/{src → core/src}/shared-tests/db-tests-setup.d.ts +1 -1
  93. package/{src → core/src}/shared-tests/db-tests-setup.js +3 -1
  94. package/{esm → core}/src/shared-tests/db-tests.db-tests.d.ts +0 -0
  95. package/{src → core/src}/shared-tests/db-tests.db-tests.js +0 -0
  96. package/{esm → core}/src/shared-tests/deleteAll.d.ts +0 -0
  97. package/{src → core/src}/shared-tests/deleteAll.js +0 -0
  98. package/{esm → core}/src/shared-tests/entityWithValidations.d.ts +0 -0
  99. package/{src → core/src}/shared-tests/entityWithValidations.js +0 -0
  100. package/{esm → core}/src/shared-tests/index.d.ts +0 -0
  101. package/{src → core/src}/shared-tests/index.js +0 -0
  102. package/{esm → core}/src/shared-tests/test-custom-id-column.spec.d.ts +0 -0
  103. package/{src → core/src}/shared-tests/test-custom-id-column.spec.js +0 -0
  104. package/{esm → core}/src/shared-tests/test-special-value.spec.d.ts +0 -0
  105. package/{src → core/src}/shared-tests/test-special-value.spec.js +0 -0
  106. package/{esm → core}/src/shared-tests/test-update-with-null.spec.d.ts +0 -0
  107. package/{src → core/src}/shared-tests/test-update-with-null.spec.js +0 -0
  108. package/{esm → core}/src/sort.d.ts +0 -1
  109. package/{src → core/src}/sort.js +0 -18
  110. package/{esm → core}/src/sql-command.d.ts +0 -0
  111. package/{src → core/src}/sql-command.js +0 -0
  112. package/{esm → core}/src/tests/Done.d.ts +0 -0
  113. package/{src → core/src}/tests/Done.js +0 -0
  114. package/{esm → core}/src/tests/TestDataApiResponse.d.ts +0 -0
  115. package/{src → core/src}/tests/TestDataApiResponse.js +0 -0
  116. package/{esm → core}/src/tests/c.d.ts +0 -0
  117. package/{src → core/src}/tests/c.js +0 -0
  118. package/{esm → core}/src/tests/createData.d.ts +0 -0
  119. package/{src → core/src}/tests/createData.js +0 -0
  120. package/{esm → core}/src/tests/d.d.ts +0 -0
  121. package/{src → core/src}/tests/d.js +0 -0
  122. package/{esm → core}/src/tests/dWithPrefilter.d.ts +0 -0
  123. package/{src → core/src}/tests/dWithPrefilter.js +0 -0
  124. package/{esm → core}/src/tests/entityForCustomFilter.d.ts +0 -0
  125. package/{src → core/src}/tests/entityForCustomFilter.js +0 -0
  126. package/{esm → core}/src/tests/entityWithValidationsOnColumn.d.ts +0 -0
  127. package/{src → core/src}/tests/entityWithValidationsOnColumn.js +0 -0
  128. package/{esm → core}/src/tests/frontend-database-tests-setup.spec.d.ts +0 -0
  129. package/{src → core/src}/tests/frontend-database-tests-setup.spec.js +0 -0
  130. package/{esm → core}/src/tests/h.d.ts +0 -0
  131. package/{src → core/src}/tests/h.js +0 -0
  132. package/{esm → core}/src/tests/remult-3-entities.d.ts +0 -0
  133. package/{src → core/src}/tests/remult-3-entities.js +0 -0
  134. package/{esm → core}/src/tests/tasks.d.ts +0 -0
  135. package/{src → core/src}/tests/tasks.js +0 -0
  136. package/{esm → core}/src/tests/testHelper.spec.d.ts +0 -2
  137. package/{src → core/src}/tests/testHelper.spec.js +95 -99
  138. package/{esm → core}/src/tests/testModel/models.d.ts +0 -0
  139. package/{src → core/src}/tests/testModel/models.js +0 -0
  140. package/{esm → core}/src/validators.d.ts +0 -0
  141. package/{src → core/src}/validators.js +0 -0
  142. package/{esm → core}/src/valueConverters.d.ts +0 -0
  143. package/{src → core/src}/valueConverters.js +3 -1
  144. package/{esm → core}/urlBuilder.d.ts +0 -0
  145. package/{urlBuilder.js → core/urlBuilder.js} +0 -0
  146. package/esm/{assign.d.ts → core/assign.d.ts} +0 -0
  147. package/esm/{assign.js → core/assign.js} +0 -0
  148. package/esm/{classType.d.ts → core/classType.d.ts} +0 -0
  149. package/esm/{src/__EntityValueProvider.js → core/classType.js} +0 -0
  150. package/{graphql.d.ts → esm/core/graphql.d.ts} +0 -0
  151. package/esm/{graphql.js → core/graphql.js} +0 -0
  152. package/{index.d.ts → esm/core/index.d.ts} +1 -2
  153. package/esm/{index.js → core/index.js} +0 -0
  154. package/{inputTypes.d.ts → esm/core/inputTypes.d.ts} +0 -0
  155. package/esm/{inputTypes.js → core/inputTypes.js} +0 -0
  156. package/{postgres → esm/core/postgres}/index.d.ts +0 -0
  157. package/esm/{postgres → core/postgres}/index.js +0 -0
  158. package/{postgres → esm/core/postgres}/postgres-data-provider.d.ts +0 -0
  159. package/esm/{postgres → core/postgres}/postgres-data-provider.js +0 -0
  160. package/{postgres → esm/core/postgres}/schema-builder.d.ts +0 -0
  161. package/esm/{postgres → core/postgres}/schema-builder.js +4 -4
  162. package/esm/core/remult-express.d.ts +6 -0
  163. package/esm/core/remult-express.js +23 -0
  164. package/{remult-fastify.d.ts → esm/core/remult-fastify.d.ts} +0 -0
  165. package/esm/{remult-fastify.js → core/remult-fastify.js} +1 -1
  166. package/{remult-fresh.d.ts → esm/core/remult-fresh.d.ts} +0 -0
  167. package/esm/{remult-fresh.js → core/remult-fresh.js} +2 -2
  168. package/{remult-knex → esm/core/remult-knex}/index.d.ts +0 -0
  169. package/esm/{remult-knex → core/remult-knex}/index.js +11 -4
  170. package/{remult-mongo.d.ts → esm/core/remult-mongo.d.ts} +0 -0
  171. package/esm/{remult-mongo.js → core/remult-mongo.js} +0 -0
  172. package/{server → esm/core/server}/JsonEntityFileStorage.d.ts +0 -0
  173. package/esm/{server → core/server}/JsonEntityFileStorage.js +0 -0
  174. package/{server/index.d.ts → esm/core/server/core.d.ts} +1 -1
  175. package/esm/{server/index.js → core/server/core.js} +1 -1
  176. package/{server → esm/core/server}/expressBridge.d.ts +11 -45
  177. package/esm/{server → core/server}/expressBridge.js +22 -29
  178. package/esm/core/server/index.d.ts +4 -0
  179. package/esm/core/server/index.js +7 -0
  180. package/{server → esm/core/server}/initAsyncHooks.d.ts +0 -0
  181. package/esm/{server → core/server}/initAsyncHooks.js +0 -0
  182. package/{src → esm/core/src}/__EntityValueProvider.d.ts +0 -0
  183. package/esm/{src/__RowsOfDataForTesting.js → core/src/__EntityValueProvider.js} +0 -0
  184. package/{src → esm/core/src}/__RowsOfDataForTesting.d.ts +0 -0
  185. package/esm/{src/entity.js → core/src/__RowsOfDataForTesting.js} +0 -0
  186. package/{src → esm/core/src}/backend-tests/backend-database-test-setup.backend-spec.d.ts +1 -0
  187. package/esm/{src → core/src}/backend-tests/backend-database-test-setup.backend-spec.js +10 -0
  188. package/{src → esm/core/src}/backend-tests/my-test.backend-spec.d.ts +0 -0
  189. package/esm/{src → core/src}/backend-tests/my-test.backend-spec.js +48 -0
  190. package/esm/{src/filter/filter-consumer-bridge-to-url-builder.js → core/src/backend-tests/test-http-server.backend-spec.d.ts} +0 -0
  191. package/esm/{src → core/src}/backend-tests/test-http-server.backend-spec.js +32 -48
  192. package/{src → esm/core/src}/column-interfaces.d.ts +0 -0
  193. package/esm/{src → core/src}/column-interfaces.js +0 -0
  194. package/esm/{src → core/src}/column.d.ts +3 -3
  195. package/esm/{src → core/src}/column.js +0 -0
  196. package/{src → esm/core/src}/context.d.ts +0 -17
  197. package/esm/{src → core/src}/context.js +0 -76
  198. package/{src → esm/core/src}/data-api.d.ts +0 -0
  199. package/esm/{src → core/src}/data-api.js +11 -44
  200. package/{src → esm/core/src}/data-interfaces.d.ts +0 -0
  201. package/esm/{src → core/src}/data-interfaces.js +0 -0
  202. package/{src → esm/core/src}/data-providers/array-entity-data-provider.d.ts +0 -0
  203. package/esm/{src → core/src}/data-providers/array-entity-data-provider.js +16 -1
  204. package/{src → esm/core/src}/data-providers/in-memory-database.d.ts +0 -0
  205. package/esm/{src → core/src}/data-providers/in-memory-database.js +0 -0
  206. package/{src → esm/core/src}/data-providers/json-data-provider.d.ts +0 -0
  207. package/esm/{src → core/src}/data-providers/json-data-provider.js +0 -0
  208. package/esm/{src → core/src}/data-providers/rest-data-provider.d.ts +0 -4
  209. package/esm/{src → core/src}/data-providers/rest-data-provider.js +7 -11
  210. package/{src → esm/core/src}/data-providers/sql-database.d.ts +0 -0
  211. package/esm/{src → core/src}/data-providers/sql-database.js +1 -1
  212. package/{src → esm/core/src}/data-providers/web-sql-data-provider.d.ts +0 -0
  213. package/esm/{src → core/src}/data-providers/web-sql-data-provider.js +1 -1
  214. package/{src → esm/core/src}/entity.d.ts +0 -0
  215. package/esm/{src/remult3/remult3.js → core/src/entity.js} +0 -0
  216. package/{src → esm/core/src}/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -0
  217. package/esm/{src → core/src}/filter/filter-consumer-bridge-to-sql-request.js +0 -0
  218. package/{src → esm/core/src}/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -0
  219. package/esm/{src/sql-command.js → core/src/filter/filter-consumer-bridge-to-url-builder.js} +0 -0
  220. package/{src → esm/core/src}/filter/filter-interfaces.d.ts +0 -0
  221. package/esm/{src → core/src}/filter/filter-interfaces.js +0 -0
  222. package/{src → esm/core/src}/id-entity.d.ts +0 -0
  223. package/esm/{src → core/src}/id-entity.js +0 -0
  224. package/esm/core/src/remult-proxy.d.ts +2 -0
  225. package/esm/{src → core/src}/remult-proxy.js +9 -11
  226. package/{src → esm/core/src}/remult3/DecoratorReplacer.d.ts +0 -0
  227. package/esm/{src → core/src}/remult3/DecoratorReplacer.js +0 -0
  228. package/esm/{src → core/src}/remult3/RepositoryImplementation.d.ts +3 -6
  229. package/esm/{src → core/src}/remult3/RepositoryImplementation.js +22 -38
  230. package/{src → esm/core/src}/remult3/index.d.ts +0 -0
  231. package/esm/{src → core/src}/remult3/index.js +0 -0
  232. package/{src → esm/core/src}/remult3/remult3.d.ts +6 -10
  233. package/{src/shared-tests/test-custom-id-column.spec.d.ts → esm/core/src/remult3/remult3.js} +0 -0
  234. package/esm/{src → core/src}/server-action.d.ts +0 -4
  235. package/esm/{src → core/src}/server-action.js +12 -10
  236. package/esm/{src → core/src}/shared-tests/db-tests-setup.d.ts +1 -1
  237. package/esm/{src → core/src}/shared-tests/db-tests-setup.js +3 -1
  238. package/{src → esm/core/src}/shared-tests/db-tests.db-tests.d.ts +0 -0
  239. package/esm/{src → core/src}/shared-tests/db-tests.db-tests.js +0 -0
  240. package/{src → esm/core/src}/shared-tests/deleteAll.d.ts +0 -0
  241. package/esm/{src → core/src}/shared-tests/deleteAll.js +0 -0
  242. package/{src → esm/core/src}/shared-tests/entityWithValidations.d.ts +0 -0
  243. package/esm/{src → core/src}/shared-tests/entityWithValidations.js +0 -0
  244. package/{src → esm/core/src}/shared-tests/index.d.ts +0 -0
  245. package/esm/{src → core/src}/shared-tests/index.js +0 -0
  246. package/{src/shared-tests/test-update-with-null.spec.d.ts → esm/core/src/shared-tests/test-custom-id-column.spec.d.ts} +0 -0
  247. package/esm/{src → core/src}/shared-tests/test-custom-id-column.spec.js +0 -0
  248. package/{src → esm/core/src}/shared-tests/test-special-value.spec.d.ts +0 -0
  249. package/esm/{src → core/src}/shared-tests/test-special-value.spec.js +0 -0
  250. package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +1 -0
  251. package/esm/{src → core/src}/shared-tests/test-update-with-null.spec.js +0 -0
  252. package/{src → esm/core/src}/sort.d.ts +0 -1
  253. package/esm/{src → core/src}/sort.js +0 -18
  254. package/{src → esm/core/src}/sql-command.d.ts +0 -0
  255. package/esm/core/src/sql-command.js +1 -0
  256. package/{src → esm/core/src}/tests/Done.d.ts +0 -0
  257. package/esm/{src → core/src}/tests/Done.js +0 -0
  258. package/{src → esm/core/src}/tests/TestDataApiResponse.d.ts +0 -0
  259. package/esm/{src → core/src}/tests/TestDataApiResponse.js +0 -0
  260. package/{src → esm/core/src}/tests/c.d.ts +0 -0
  261. package/esm/{src → core/src}/tests/c.js +0 -0
  262. package/{src → esm/core/src}/tests/createData.d.ts +0 -0
  263. package/esm/{src → core/src}/tests/createData.js +0 -0
  264. package/{src → esm/core/src}/tests/d.d.ts +0 -0
  265. package/esm/{src → core/src}/tests/d.js +0 -0
  266. package/{src → esm/core/src}/tests/dWithPrefilter.d.ts +0 -0
  267. package/esm/{src → core/src}/tests/dWithPrefilter.js +0 -0
  268. package/{src → esm/core/src}/tests/entityForCustomFilter.d.ts +0 -0
  269. package/esm/{src → core/src}/tests/entityForCustomFilter.js +0 -0
  270. package/{src → esm/core/src}/tests/entityWithValidationsOnColumn.d.ts +0 -0
  271. package/esm/{src → core/src}/tests/entityWithValidationsOnColumn.js +0 -0
  272. package/{src → esm/core/src}/tests/frontend-database-tests-setup.spec.d.ts +0 -0
  273. package/esm/{src → core/src}/tests/frontend-database-tests-setup.spec.js +0 -0
  274. package/{src → esm/core/src}/tests/h.d.ts +0 -0
  275. package/esm/{src → core/src}/tests/h.js +0 -0
  276. package/{src → esm/core/src}/tests/remult-3-entities.d.ts +0 -0
  277. package/esm/{src → core/src}/tests/remult-3-entities.js +0 -0
  278. package/{src → esm/core/src}/tests/tasks.d.ts +0 -0
  279. package/esm/{src → core/src}/tests/tasks.js +0 -0
  280. package/{src → esm/core/src}/tests/testHelper.spec.d.ts +0 -2
  281. package/esm/{src → core/src}/tests/testHelper.spec.js +57 -60
  282. package/{src → esm/core/src}/tests/testModel/models.d.ts +0 -0
  283. package/esm/{src → core/src}/tests/testModel/models.js +0 -0
  284. package/{src → esm/core/src}/validators.d.ts +0 -0
  285. package/esm/{src → core/src}/validators.js +0 -0
  286. package/{src → esm/core/src}/valueConverters.d.ts +0 -0
  287. package/esm/{src → core/src}/valueConverters.js +3 -1
  288. package/{urlBuilder.d.ts → esm/core/urlBuilder.d.ts} +0 -0
  289. package/esm/{urlBuilder.js → core/urlBuilder.js} +0 -0
  290. package/esm/test-servers/shared/Task.d.ts +9 -0
  291. package/esm/test-servers/shared/Task.js +62 -0
  292. package/package.json +1 -9
  293. package/test-servers/shared/Task.d.ts +9 -0
  294. package/test-servers/shared/Task.js +81 -0
  295. package/esm/live-query/ably.d.ts +0 -13
  296. package/esm/live-query/ably.js +0 -25
  297. package/esm/live-query/ablyLiveQuery.d.ts +0 -13
  298. package/esm/live-query/ablyLiveQuery.js +0 -25
  299. package/esm/live-query/index.d.ts +0 -2
  300. package/esm/live-query/index.js +0 -2
  301. package/esm/live-query/live-query.d.ts +0 -3
  302. package/esm/live-query/live-query.js +0 -2
  303. package/esm/live-query.d.ts +0 -3
  304. package/esm/live-query.js +0 -2
  305. package/esm/remult-express.d.ts +0 -30
  306. package/esm/remult-express.js +0 -135
  307. package/esm/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
  308. package/esm/src/live-query/EventSourceLiveQuery.d.ts +0 -5
  309. package/esm/src/live-query/EventSourceLiveQuery.js +0 -48
  310. package/esm/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
  311. package/esm/src/live-query/EventSourceLiveQueryProvider.js +0 -55
  312. package/esm/src/live-query/LiveQuery.d.ts +0 -67
  313. package/esm/src/live-query/LiveQuery.js +0 -225
  314. package/esm/src/live-query/LiveQueryManager.d.ts +0 -32
  315. package/esm/src/live-query/LiveQueryManager.js +0 -99
  316. package/esm/src/live-query/LiveQueryPublisher.d.ts +0 -21
  317. package/esm/src/live-query/LiveQueryPublisher.js +0 -71
  318. package/esm/src/live-query/LiveQuerySubscriber.d.ts +0 -62
  319. package/esm/src/live-query/LiveQuerySubscriber.js +0 -215
  320. package/esm/src/live-query/ablyLiveQuery.d.ts +0 -13
  321. package/esm/src/live-query/ablyLiveQuery.js +0 -25
  322. package/esm/src/live-query/index.d.ts +0 -2
  323. package/esm/src/live-query/index.js +0 -1
  324. package/esm/src/remult-proxy.d.ts +0 -2
  325. package/esm/src/remult3/getId.d.ts +0 -2
  326. package/esm/src/remult3/getId.js +0 -7
  327. package/live-query/ably.d.ts +0 -13
  328. package/live-query/ably.js +0 -38
  329. package/live-query/ablyLiveQuery.d.ts +0 -13
  330. package/live-query/ablyLiveQuery.js +0 -38
  331. package/live-query/index.d.ts +0 -2
  332. package/live-query/index.js +0 -7
  333. package/live-query/live-query.d.ts +0 -3
  334. package/live-query/live-query.js +0 -10
  335. package/live-query.d.ts +0 -3
  336. package/live-query.js +0 -7
  337. package/remult-express.d.ts +0 -30
  338. package/remult-express.js +0 -176
  339. package/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
  340. package/src/live-query/EventSourceLiveQuery.d.ts +0 -5
  341. package/src/live-query/EventSourceLiveQuery.js +0 -62
  342. package/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
  343. package/src/live-query/EventSourceLiveQueryProvider.js +0 -62
  344. package/src/live-query/LiveQuery.d.ts +0 -67
  345. package/src/live-query/LiveQuery.js +0 -308
  346. package/src/live-query/LiveQueryManager.d.ts +0 -32
  347. package/src/live-query/LiveQueryManager.js +0 -198
  348. package/src/live-query/LiveQueryPublisher.d.ts +0 -21
  349. package/src/live-query/LiveQueryPublisher.js +0 -121
  350. package/src/live-query/LiveQuerySubscriber.d.ts +0 -62
  351. package/src/live-query/LiveQuerySubscriber.js +0 -335
  352. package/src/live-query/ablyLiveQuery.d.ts +0 -13
  353. package/src/live-query/ablyLiveQuery.js +0 -38
  354. package/src/remult-proxy.d.ts +0 -2
  355. package/src/remult3/getId.d.ts +0 -2
  356. package/src/remult3/getId.js +0 -11
package/README.md CHANGED
@@ -3,6 +3,7 @@
3
3
  <img src="https://github.com/remult/remult/raw/master/docs/.vuepress/public/logo.png" width="140" height="140">
4
4
  </a>
5
5
  <h1>Remult</h1>
6
+ <p>A CRUD framework for full-stack TypeScript</p>
6
7
  <a href="https://circleci.com/gh/remult/remult/tree/master" rel="nofollow">
7
8
  <img alt="CircleCI" src="https://circleci.com/gh/remult/remult/tree/master.svg?style=shield">
8
9
  </a>
@@ -24,14 +25,29 @@
24
25
  <a href="https://twitter.com/intent/tweet?text=Remult%20-%20open-source%20CRUD%20framework%20for%20full-stack%20TypeScript%0A%0A%40remultjs%0A&url=https%3A%2F%2Fgithub.com%2Fremult%2Fremult">
25
26
  <img alt="Twitter URL" src="https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Ftwitter.com%2Fintent%2Ftweet%3Ftext%3DRemult%2520-%2520open-source%2520CRUD%2520framework%2520for%2520full-stack%2520TypeScript%250A%250A%2540remultjs%250A%26url%3Dhttps%253A%252F%252Fgithub.com%252Fremult%252Fremult">
26
27
  </a>
27
- <a href="https://twitter.com/remultjs" rel="nofollow">
28
- <img alt="Twitter Follow" src="https://img.shields.io/twitter/url.svg?label=Follow%20%40remultjs&style=social&url=https%3A%2F%2Ftwitter.com%2FRemultJs">
29
- </a>
30
28
  </div>
29
+
30
+
31
+ <br/>
32
+
33
+ <div align="center">
34
+ <a href="#getting-started">Getting Started</a> |
35
+ <a href="#documentation">Documentation</a> |
36
+ <a href="#example-apps">Example Apps</a>
37
+ </div>
38
+
31
39
  <hr/>
40
+ <br/>
32
41
 
33
- [Getting Started](#getting-started) | [Documentation](#documentation) |
34
- [Example Apps](#example-apps)
42
+ <a href="https://www.youtube.com/watch?v=rEoScmSVNUE" target="_blank">
43
+ <p align="center">
44
+ <img src="https://github.com/remult/remult/raw/master/static/images/video-thumbnail.jpg" alt="Video thumbnail" />
45
+ </p>
46
+ </a>
47
+
48
+ <a href="https://www.youtube.com/watch?v=rEoScmSVNUE" target="_blank">
49
+ <p align="center">Watch code demo on YouTube here (14 mins)</p>
50
+ </a>
35
51
 
36
52
  ## What is Remult?
37
53
 
@@ -39,6 +55,13 @@
39
55
  as a single source of truth for your API, frontend type-safe API client and
40
56
  backend ORM**.
41
57
 
58
+ * :zap: Zero-boilerplate CRUD API routes with paging, sorting, and filtering for Express / Fastify / Next.js / NestJS / Koa / others...
59
+ * :ok_hand: Fullstack type-safety for API queries, mutations and RPC, without code generation
60
+ * :sparkles: Input validation, defined once, runs both on the backend and on the frontend for best UX
61
+ * :lock: Fine-grained code-based API authorization
62
+ * :relieved: Incrementally adoptable
63
+ * :rocket: Production ready
64
+
42
65
  ### Status
43
66
 
44
67
  Remult is **production-ready** and, in fact, used in production apps since 2018.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -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';
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -62,7 +62,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
62
62
  return tslib_1.__generator(this, function (_b) {
63
63
  switch (_b.label) {
64
64
  case 0:
65
- console.log("start verify structure"); //keep me
65
+ console.log("start verify structure");
66
66
  _b.label = 1;
67
67
  case 1:
68
68
  _b.trys.push([1, 12, 13, 14]);
@@ -92,7 +92,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
92
92
  case 8: return [3 /*break*/, 10];
93
93
  case 9:
94
94
  err_1 = _b.sent();
95
- /*keep me */ console.log("failed verify structure of " + e.entityName + " ", err_1);
95
+ console.log("failed verify structure of " + e.entityName + " ", err_1);
96
96
  return [3 /*break*/, 10];
97
97
  case 10:
98
98
  allEntities_1_1 = allEntities_1.next();
@@ -202,7 +202,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
202
202
  case 5: return [3 /*break*/, 7];
203
203
  case 6:
204
204
  err_2 = _a.sent();
205
- console.error(err_2);
205
+ console.log(err_2);
206
206
  return [3 /*break*/, 7];
207
207
  case 7: return [2 /*return*/];
208
208
  }
@@ -258,7 +258,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
258
258
  case 10: return [3 /*break*/, 12];
259
259
  case 11:
260
260
  err_3 = _d.sent();
261
- console.error(err_3);
261
+ console.log(err_3);
262
262
  return [3 /*break*/, 12];
263
263
  case 12: return [2 /*return*/];
264
264
  }
@@ -0,0 +1,6 @@
1
+ import * as express from 'express';
2
+ import { RemultServer, RemultServerOptions } from './server/expressBridge';
3
+ export declare function remultExpress(options?: RemultServerOptions<express.Request> & {
4
+ bodyParser?: boolean;
5
+ bodySizeLimit?: string;
6
+ }): express.RequestHandler & RemultServer;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.remultExpress = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var express = require("express");
6
+ var index_1 = require("./server/index");
7
+ function remultExpress(options) {
8
+ var app = express.Router();
9
+ if (!options) {
10
+ options = {};
11
+ }
12
+ if (options.bodySizeLimit === undefined) {
13
+ options.bodySizeLimit = '10mb';
14
+ }
15
+ if ((options === null || options === void 0 ? void 0 : options.bodyParser) !== false) {
16
+ app.use(express.json({ limit: options.bodySizeLimit }));
17
+ app.use(express.urlencoded({ extended: true, limit: options.bodySizeLimit }));
18
+ }
19
+ var server = index_1.createRemultServer(options);
20
+ server.registerRouter(app);
21
+ return Object.assign(app, {
22
+ getRemult: function (req) { return server.getRemult(req); },
23
+ openApiDoc: function (options) { return server.openApiDoc(options); },
24
+ registerRouter: function (x) { return server.registerRouter(x); },
25
+ withRemult: function () {
26
+ var args = [];
27
+ for (var _i = 0; _i < arguments.length; _i++) {
28
+ args[_i] = arguments[_i];
29
+ }
30
+ return server.withRemult.apply(server, tslib_1.__spread(args));
31
+ }
32
+ });
33
+ }
34
+ exports.remultExpress = remultExpress;
File without changes
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.remultFastify = void 0;
4
4
  var tslib_1 = require("tslib");
5
- var expressBridge_1 = require("./server/expressBridge");
5
+ var index_1 = require("./server/index");
6
6
  function remultFastify(options) {
7
7
  var _this = this;
8
8
  function fastifyHandler(handler) {
@@ -23,7 +23,7 @@ function remultFastify(options) {
23
23
  };
24
24
  return response;
25
25
  }
26
- var api = expressBridge_1.createRemultServer(options);
26
+ var api = index_1.createRemultServer(options);
27
27
  var pluginFunction = function (instance, op) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
28
28
  var fastifyRouter;
29
29
  return tslib_1.__generator(this, function (_a) {
File without changes
@@ -5,7 +5,7 @@ var tslib_1 = require("tslib");
5
5
  var expressBridge_1 = require("./server/expressBridge");
6
6
  function remultFresh(options, response) {
7
7
  var _this = this;
8
- var server = expressBridge_1.createRemultServer(options);
8
+ var server = expressBridge_1.createRemultServerCore(options);
9
9
  return {
10
10
  getRemult: function (r) { return server.getRemult(r); },
11
11
  openApiDoc: function (x) { return server.openApiDoc(x); },
File without changes
@@ -257,7 +257,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
257
257
  };
258
258
  KnexEntityDataProvider.prototype.insert = function (data) {
259
259
  return tslib_1.__awaiter(this, void 0, void 0, function () {
260
- var e, resultFilter, insertObject, _a, _b, x, v, key, e_3_1, insert, result, newId_1;
260
+ var e, resultFilter, insertObject, _a, _b, x, v, key, e_3_1, insert, newId_1, result, result;
261
261
  var e_3, _c;
262
262
  var _this = this;
263
263
  return tslib_1.__generator(this, function (_d) {
@@ -304,18 +304,26 @@ var KnexEntityDataProvider = /** @class */ (function () {
304
304
  return [7 /*endfinally*/];
305
305
  case 10:
306
306
  insert = this.knex(e.entityName).insert(insertObject);
307
- if (!remult3_1.isAutoIncrement(this.entity.idMetadata.field)) return [3 /*break*/, 12];
308
- return [4 /*yield*/, insert.returning(this.entity.idMetadata.field.key)];
307
+ if (!remult3_1.isAutoIncrement(this.entity.idMetadata.field)) return [3 /*break*/, 15];
308
+ if (!(this.knex.client.config.client === 'mysql2')) return [3 /*break*/, 12];
309
+ return [4 /*yield*/, insert];
309
310
  case 11:
310
311
  result = _d.sent();
311
- newId_1 = result[0].id;
312
- resultFilter = new filter_interfaces_1.Filter(function (x) { return x.isEqualTo(_this.entity.idMetadata.field, newId_1); });
312
+ newId_1 = result[0];
313
313
  return [3 /*break*/, 14];
314
- case 12: return [4 /*yield*/, insert];
314
+ case 12: return [4 /*yield*/, insert.returning(this.entity.idMetadata.field.key)];
315
315
  case 13:
316
- _d.sent();
316
+ result = _d.sent();
317
+ newId_1 = result[0].id;
317
318
  _d.label = 14;
318
- case 14: return [2 /*return*/, this.find({ where: resultFilter }).then(function (y) {
319
+ case 14:
320
+ resultFilter = new filter_interfaces_1.Filter(function (x) { return x.isEqualTo(_this.entity.idMetadata.field, newId_1); });
321
+ return [3 /*break*/, 17];
322
+ case 15: return [4 /*yield*/, insert];
323
+ case 16:
324
+ _d.sent();
325
+ _d.label = 17;
326
+ case 17: return [2 /*return*/, this.find({ where: resultFilter }).then(function (y) {
319
327
  return y[0];
320
328
  })];
321
329
  }
@@ -525,7 +533,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
525
533
  return tslib_1.__generator(this, function (_e) {
526
534
  switch (_e.label) {
527
535
  case 0:
528
- console.info("start verify structure");
536
+ console.log("start verify structure");
529
537
  _e.label = 1;
530
538
  case 1:
531
539
  _e.trys.push([1, 12, 13, 14]);
@@ -719,7 +727,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
719
727
  case 10: return [3 /*break*/, 12];
720
728
  case 11:
721
729
  err_3 = _d.sent();
722
- console.error(err_3);
730
+ console.log(err_3);
723
731
  return [3 /*break*/, 12];
724
732
  case 12: return [2 /*return*/];
725
733
  }
File without changes
File without changes
File without changes
File without changes
@@ -1,2 +1,2 @@
1
- export { queuedJobInfo, QueueStorage, GenericRequest, GenericRequestHandler, GenericResponse, GenericRouter, createRemultServer, RemultServerOptions, SpecificRoute, RemultServer } from './expressBridge';
1
+ export { queuedJobInfo, QueueStorage, GenericRequest, GenericRequestHandler, GenericResponse, GenericRouter, createRemultServerCore, RemultServerOptions, SpecificRoute, RemultServer } from './expressBridge';
2
2
  export { JsonEntityFileStorage, JsonFileDataProvider } from './JsonEntityFileStorage';
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonFileDataProvider = exports.JsonEntityFileStorage = exports.createRemultServer = void 0;
3
+ exports.JsonFileDataProvider = exports.JsonEntityFileStorage = exports.createRemultServerCore = void 0;
4
4
  var expressBridge_1 = require("./expressBridge");
5
- Object.defineProperty(exports, "createRemultServer", { enumerable: true, get: function () { return expressBridge_1.createRemultServer; } });
5
+ Object.defineProperty(exports, "createRemultServerCore", { enumerable: true, get: function () { return expressBridge_1.createRemultServerCore; } });
6
6
  var JsonEntityFileStorage_1 = require("./JsonEntityFileStorage");
7
7
  Object.defineProperty(exports, "JsonEntityFileStorage", { enumerable: true, get: function () { return JsonEntityFileStorage_1.JsonEntityFileStorage; } });
8
8
  Object.defineProperty(exports, "JsonFileDataProvider", { enumerable: true, get: function () { return JsonEntityFileStorage_1.JsonFileDataProvider; } });
@@ -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 {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JobsInQueueEntity = exports.EntityQueueStorage = exports.RemultServerImplementation = exports.createRemultServer = void 0;
3
+ exports.JobsInQueueEntity = exports.EntityQueueStorage = exports.RemultAsyncLocalStorage = exports.createRemultServerCore = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var server_action_1 = require("../src/server-action");
6
6
  var data_api_1 = require("../src/data-api");
@@ -9,7 +9,7 @@ var remult3_1 = require("../src/remult3");
9
9
  var id_entity_1 = require("../src/id-entity");
10
10
  var remult_proxy_1 = require("../src/remult-proxy");
11
11
  ;
12
- function createRemultServer(options) {
12
+ function createRemultServerCore(options) {
13
13
  var _this = this;
14
14
  if (!options) {
15
15
  options = {};
@@ -40,35 +40,7 @@ function createRemultServer(options) {
40
40
  }
41
41
  });
42
42
  }); });
43
- if (!remultObjectStorage) {
44
- dataProvider = dataProvider.then(function (dp) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
45
- var asyncHooks, _a;
46
- return tslib_1.__generator(this, function (_b) {
47
- switch (_b.label) {
48
- case 0:
49
- _b.trys.push([0, 2, , 3]);
50
- return [4 /*yield*/, Promise.resolve().then(function () { return require('async_hooks'); })];
51
- case 1:
52
- asyncHooks = _b.sent();
53
- remultObjectStorage = new RemultAsyncLocalStorage(new asyncHooks.AsyncLocalStorage());
54
- return [3 /*break*/, 3];
55
- case 2:
56
- _a = _b.sent();
57
- remultObjectStorage = new RemultAsyncLocalStorage(undefined);
58
- return [3 /*break*/, 3];
59
- case 3:
60
- remult_proxy_1.remult.remultFactory = function () {
61
- var r = remultObjectStorage.getRemult();
62
- if (r)
63
- return r;
64
- else
65
- throw new Error("remult object was requested outside of a valid context, try running it within initApi or a remult request cycle");
66
- };
67
- return [2 /*return*/, dp];
68
- }
69
- });
70
- }); });
71
- }
43
+ RemultAsyncLocalStorage.enable();
72
44
  if (options.initApi) {
73
45
  dataProvider = dataProvider.then(function (dp) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
74
46
  var remult;
@@ -78,7 +50,7 @@ function createRemultServer(options) {
78
50
  case 0:
79
51
  remult = new context_1.Remult(dp);
80
52
  return [4 /*yield*/, new Promise(function (res) {
81
- remultObjectStorage.run(remult, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
53
+ RemultAsyncLocalStorage.instance.run(remult, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
82
54
  return tslib_1.__generator(this, function (_a) {
83
55
  switch (_a.label) {
84
56
  case 0: return [4 /*yield*/, options.initApi(remult)];
@@ -113,12 +85,24 @@ function createRemultServer(options) {
113
85
  var bridge = new RemultServerImplementation(new inProcessQueueHandler(options.queueStorage), options, dataProvider);
114
86
  return bridge;
115
87
  }
116
- exports.createRemultServer = createRemultServer;
88
+ exports.createRemultServerCore = createRemultServerCore;
117
89
  ;
118
90
  var RemultAsyncLocalStorage = /** @class */ (function () {
119
91
  function RemultAsyncLocalStorage(remultObjectStorage) {
120
92
  this.remultObjectStorage = remultObjectStorage;
121
93
  }
94
+ RemultAsyncLocalStorage.enable = function () {
95
+ remult_proxy_1.remult.remultFactory = function () {
96
+ var r = RemultAsyncLocalStorage.instance.getRemult();
97
+ if (r)
98
+ return r;
99
+ else
100
+ throw new Error("remult object was requested outside of a valid context, try running it within initApi or a remult request cycle");
101
+ };
102
+ };
103
+ RemultAsyncLocalStorage.disable = function () {
104
+ remult_proxy_1.remult.resetFactory();
105
+ };
122
106
  RemultAsyncLocalStorage.prototype.run = function (remult, callback) {
123
107
  if (this.remultObjectStorage)
124
108
  this.remultObjectStorage.run(remult, callback);
@@ -127,13 +111,14 @@ var RemultAsyncLocalStorage = /** @class */ (function () {
127
111
  };
128
112
  RemultAsyncLocalStorage.prototype.getRemult = function () {
129
113
  if (!this.remultObjectStorage) {
130
- throw "can't use static remult in this environment, `async_hooks` were not found";
114
+ throw new Error("can't use static remult in this environment, `async_hooks` were not initialized");
131
115
  }
132
116
  return this.remultObjectStorage.getStore();
133
117
  };
118
+ RemultAsyncLocalStorage.instance = new RemultAsyncLocalStorage(undefined);
134
119
  return RemultAsyncLocalStorage;
135
120
  }());
136
- var remultObjectStorage;
121
+ exports.RemultAsyncLocalStorage = RemultAsyncLocalStorage;
137
122
  var RemultServerImplementation = /** @class */ (function () {
138
123
  function RemultServerImplementation(queue, options, dataProvider) {
139
124
  this.queue = queue;
@@ -235,7 +220,7 @@ var RemultServerImplementation = /** @class */ (function () {
235
220
  var _this = this;
236
221
  var myRoute = this.options.rootPath + '/' + key;
237
222
  if (this.options.logApiEndPoints)
238
- console.info("[remult] " + myRoute);
223
+ console.log("[remult] " + myRoute);
239
224
  r.route(myRoute)
240
225
  .get(this.process(function (c, req, res) {
241
226
  return dataApiFactory(c).httpGet(res, req);
@@ -273,13 +258,12 @@ var RemultServerImplementation = /** @class */ (function () {
273
258
  myReq = new ExpressRequestBridgeToDataApiRequest(req);
274
259
  myRes = new ExpressResponseBridgeToDataApiResponse(res, req);
275
260
  remult = new context_1.Remult();
276
- remult.liveQueryPublisher = this.liveQueryManager;
277
261
  _a = remult;
278
262
  return [4 /*yield*/, this.dataProvider];
279
263
  case 1:
280
264
  _a.dataProvider = (_b.sent());
281
265
  return [4 /*yield*/, new Promise(function (res) {
282
- remultObjectStorage.run(remult, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
266
+ RemultAsyncLocalStorage.instance.run(remult, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
283
267
  var user;
284
268
  return tslib_1.__generator(this, function (_a) {
285
269
  switch (_a.label) {
@@ -355,7 +339,7 @@ var RemultServerImplementation = /** @class */ (function () {
355
339
  })();
356
340
  _this.backendMethodsOpenApi.push({ path: myUrl, allowed: allowed, tag: tag });
357
341
  if (_this.options.logApiEndPoints)
358
- console.info("[remult] " + myUrl);
342
+ console.log("[remult] " + myUrl);
359
343
  if (queue) {
360
344
  _this.hasQueue = true;
361
345
  _this.queue.mapQueuedAction(myUrl, what);
@@ -686,7 +670,6 @@ var RemultServerImplementation = /** @class */ (function () {
686
670
  };
687
671
  return RemultServerImplementation;
688
672
  }());
689
- exports.RemultServerImplementation = RemultServerImplementation;
690
673
  var ExpressRequestBridgeToDataApiRequest = /** @class */ (function () {
691
674
  function ExpressRequestBridgeToDataApiRequest(r) {
692
675
  this.r = r;
@@ -0,0 +1,4 @@
1
+ import { GenericRequest, RemultServer, RemultServerOptions } from './expressBridge';
2
+ export { queuedJobInfo, QueueStorage, GenericRequest, GenericRequestHandler, GenericResponse, GenericRouter, RemultServerOptions, SpecificRoute, RemultServer } from './expressBridge';
3
+ export { JsonEntityFileStorage, JsonFileDataProvider } from './JsonEntityFileStorage';
4
+ export declare function createRemultServer<RequestType extends GenericRequest = GenericRequest>(options?: RemultServerOptions<RequestType>): RemultServer;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createRemultServer = exports.JsonFileDataProvider = exports.JsonEntityFileStorage = void 0;
4
+ var expressBridge_1 = require("./expressBridge");
5
+ var initAsyncHooks_1 = require("./initAsyncHooks");
6
+ var JsonEntityFileStorage_1 = require("./JsonEntityFileStorage");
7
+ Object.defineProperty(exports, "JsonEntityFileStorage", { enumerable: true, get: function () { return JsonEntityFileStorage_1.JsonEntityFileStorage; } });
8
+ Object.defineProperty(exports, "JsonFileDataProvider", { enumerable: true, get: function () { return JsonEntityFileStorage_1.JsonFileDataProvider; } });
9
+ function createRemultServer(options) {
10
+ initAsyncHooks_1.initAsyncHooks();
11
+ return expressBridge_1.createRemultServerCore(options);
12
+ }
13
+ exports.createRemultServer = createRemultServer;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,5 +1,6 @@
1
1
  import { dbTestWhatSignature } from "../shared-tests/db-tests-setup";
2
2
  export declare const testKnexPGSqlImpl: (key: string, what: dbTestWhatSignature, focus?: boolean) => void;
3
+ export declare const mySqlTest: import("../shared-tests/db-tests-setup").dbTestMethodSignature;
3
4
  export declare function testPostgresImplementation(key: string, what: dbTestWhatSignature, focus?: boolean): void;
4
5
  export declare function testMongo(key: string, what: dbTestWhatSignature, focus?: boolean): void;
5
6
  import '../shared-tests';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.testMongo = exports.testPostgresImplementation = exports.testKnexPGSqlImpl = void 0;
3
+ exports.testMongo = exports.testPostgresImplementation = exports.mySqlTest = exports.testKnexPGSqlImpl = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var context_1 = require("../context");
6
6
  var remult_knex_1 = require("../../remult-knex");
@@ -87,6 +87,16 @@ if (true)
87
87
  filename: ":memory:"
88
88
  },
89
89
  }), "sqlite3"));
90
+ exports.mySqlTest = db_tests_setup_1.addDatabaseToTest(testKnexSqlImpl(Knex.default({
91
+ client: 'mysql2',
92
+ connection: {
93
+ user: 'root',
94
+ password: 'MASTERKEY',
95
+ host: '127.0.0.1',
96
+ database: 'test'
97
+ }
98
+ //debug: true
99
+ }), "mysql2"));
90
100
  var pg = postgres_1.createPostgresConnection({
91
101
  autoCreateTables: false
92
102
  });