remult 0.22.5 → 0.22.6-exp.2

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 (358) hide show
  1. package/esm/graphql.js +29 -28
  2. package/esm/internals.js +7 -0
  3. package/esm/migrations/compare-migration-snapshots.js +61 -0
  4. package/esm/migrations/generate-migrations.js +68 -0
  5. package/esm/migrations/index.js +2 -0
  6. package/esm/migrations/migrate.js +85 -0
  7. package/esm/migrations/migration-types.js +36 -0
  8. package/esm/migrations/update-migrations-ts-file.js +115 -0
  9. package/esm/package.json +3 -0
  10. package/esm/postgres/schema-builder.js +4 -4
  11. package/esm/remult-better-sqlite3.js +47 -0
  12. package/esm/remult-bun-sqlite.js +41 -0
  13. package/esm/remult-duckdb.js +111 -0
  14. package/esm/remult-hapi.js +114 -0
  15. package/esm/remult-hono.js +104 -0
  16. package/esm/remult-mongo.js +1 -1
  17. package/esm/remult-nuxt.js +54 -0
  18. package/esm/remult-solid-start.js +97 -0
  19. package/esm/remult-sql-js.js +41 -0
  20. package/esm/remult-sqlite-core.js +137 -0
  21. package/esm/remult-sqlite3.js +61 -0
  22. package/esm/remult-turso.js +59 -0
  23. package/esm/server/get-remult-admin-html.js +3 -0
  24. package/esm/server/initDataProviderOrJson.js +6 -0
  25. package/esm/server/remult-admin.js +95 -0
  26. package/esm/server/remult-api-server.js +1157 -0
  27. package/esm/src/CompoundIdField.js +62 -0
  28. package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +11 -10
  29. package/esm/src/data-api.js +4 -2
  30. package/esm/src/data-providers/json-entity-opfs-storage.js +26 -0
  31. package/esm/src/isOfType.js +9 -0
  32. package/esm/src/live-query/SubscriptionServer.js +2 -2
  33. package/esm/src/remult-static.js +43 -0
  34. package/esm/src/remult3/Fields.js +335 -0
  35. package/esm/src/remult3/IdEntity.js +10 -0
  36. package/esm/src/remult3/RepositoryImplementation.js +7 -4
  37. package/esm/src/remult3/__updateEntityBasedOnWhere.js +28 -0
  38. package/esm/src/remult3/addValidator.js +15 -0
  39. package/esm/{core/src/remult3/DecoratorReplacer.js → src/remult3/classDescribers.js} +18 -3
  40. package/esm/src/remult3/entity.js +70 -0
  41. package/esm/src/remult3/getEntityRef.js +36 -0
  42. package/esm/src/remult3/relation-loader.js +153 -0
  43. package/esm/src/remult3/relationInfoMember.js +116 -0
  44. package/esm/src/remult3/repository-internals.js +7 -0
  45. package/esm/src/server-action-info.js +1 -0
  46. package/esm/src/shared-tests/db-tests.db-tests.js +1 -1
  47. package/graphql.js +2 -1
  48. package/internals.d.ts +15 -0
  49. package/internals.js +18 -0
  50. package/migrations/compare-migration-snapshots.d.ts +27 -0
  51. package/migrations/compare-migration-snapshots.js +164 -0
  52. package/migrations/generate-migrations.d.ts +21 -0
  53. package/migrations/generate-migrations.js +103 -0
  54. package/migrations/index.d.ts +3 -0
  55. package/migrations/index.js +7 -0
  56. package/migrations/migrate.d.ts +27 -0
  57. package/migrations/migrate.js +170 -0
  58. package/migrations/migration-types.d.ts +48 -0
  59. package/migrations/migration-types.js +88 -0
  60. package/migrations/update-migrations-ts-file.d.ts +1 -0
  61. package/migrations/update-migrations-ts-file.js +140 -0
  62. package/package.json +1 -1
  63. package/remult-better-sqlite3.d.ts +12 -0
  64. package/remult-better-sqlite3.js +64 -0
  65. package/remult-bun-sqlite.d.ts +11 -0
  66. package/remult-bun-sqlite.js +56 -0
  67. package/remult-duckdb.d.ts +9 -0
  68. package/remult-duckdb.js +150 -0
  69. package/remult-hapi.d.ts +6 -0
  70. package/remult-hapi.js +127 -0
  71. package/remult-hono.d.ts +7 -0
  72. package/remult-hono.js +115 -0
  73. package/remult-mongo.js +1 -1
  74. package/remult-nuxt.d.ts +6 -0
  75. package/remult-nuxt.js +78 -0
  76. package/remult-solid-start.d.ts +12 -0
  77. package/remult-solid-start.js +133 -0
  78. package/remult-sql-js.d.ts +5 -0
  79. package/remult-sql-js.js +73 -0
  80. package/remult-sqlite-core.d.ts +25 -0
  81. package/remult-sqlite-core.js +314 -0
  82. package/remult-sqlite3.d.ts +5 -0
  83. package/remult-sqlite3.js +76 -0
  84. package/remult-turso.d.ts +8 -0
  85. package/remult-turso.js +100 -0
  86. package/server/get-remult-admin-html.d.ts +1 -0
  87. package/server/get-remult-admin-html.js +6 -0
  88. package/server/initDataProviderOrJson.d.ts +2 -0
  89. package/server/initDataProviderOrJson.js +16 -0
  90. package/server/remult-admin.d.ts +43 -0
  91. package/server/remult-admin.js +123 -0
  92. package/{esm/core/server/expressBridge.d.ts → server/remult-api-server.d.ts} +75 -77
  93. package/server/remult-api-server.js +1626 -0
  94. package/src/CompoundIdField.d.ts +27 -0
  95. package/src/CompoundIdField.js +72 -0
  96. package/src/backend-tests/backend-database-test-setup.backend-spec.js +11 -10
  97. package/src/data-api.js +4 -2
  98. package/src/data-providers/json-entity-opfs-storage.d.ts +5 -0
  99. package/src/data-providers/json-entity-opfs-storage.js +74 -0
  100. package/src/isOfType.d.ts +2 -0
  101. package/src/isOfType.js +13 -0
  102. package/src/live-query/SubscriptionServer.js +2 -2
  103. package/src/remult-static.d.ts +26 -0
  104. package/src/remult-static.js +50 -0
  105. package/src/remult3/Fields.d.ts +170 -0
  106. package/src/remult3/Fields.js +419 -0
  107. package/src/remult3/IdEntity.d.ts +4 -0
  108. package/src/remult3/IdEntity.js +18 -0
  109. package/src/remult3/RepositoryImplementation.js +24 -22
  110. package/src/remult3/__updateEntityBasedOnWhere.d.ts +2 -0
  111. package/src/remult3/__updateEntityBasedOnWhere.js +31 -0
  112. package/src/remult3/addValidator.d.ts +2 -0
  113. package/src/remult3/addValidator.js +19 -0
  114. package/src/remult3/classDescribers.d.ts +16 -0
  115. package/src/remult3/classDescribers.js +40 -0
  116. package/src/remult3/columnInfo.d.ts +6 -0
  117. package/src/remult3/columnInfo.js +2 -0
  118. package/src/remult3/entity.d.ts +28 -0
  119. package/src/remult3/entity.js +86 -0
  120. package/src/remult3/getEntityRef.d.ts +18 -0
  121. package/src/remult3/getEntityRef.js +45 -0
  122. package/src/remult3/relation-loader-types.d.ts +7 -0
  123. package/src/remult3/relation-loader-types.js +2 -0
  124. package/src/remult3/relation-loader.d.ts +40 -0
  125. package/src/remult3/relation-loader.js +245 -0
  126. package/src/remult3/relationInfoMember.d.ts +30 -0
  127. package/src/remult3/relationInfoMember.js +149 -0
  128. package/src/remult3/repository-internals.d.ts +20 -0
  129. package/src/remult3/repository-internals.js +11 -0
  130. package/src/server-action-info.d.ts +1 -0
  131. package/src/server-action-info.js +4 -0
  132. package/src/shared-tests/db-tests.db-tests.js +1 -1
  133. package/esm/angular/interfaces/index.d.ts +0 -1
  134. package/esm/angular/interfaces/index.js +0 -1
  135. package/esm/angular/interfaces/src/column-collection.d.ts +0 -70
  136. package/esm/angular/interfaces/src/column-collection.js +0 -341
  137. package/esm/angular/interfaces/src/data-area-settings.d.ts +0 -15
  138. package/esm/angular/interfaces/src/data-area-settings.js +0 -35
  139. package/esm/angular/interfaces/src/data-control-interfaces.d.ts +0 -36
  140. package/esm/angular/interfaces/src/data-control-interfaces.js +0 -57
  141. package/esm/angular/interfaces/src/dataList.d.ts +0 -13
  142. package/esm/angular/interfaces/src/dataList.js +0 -42
  143. package/esm/angular/interfaces/src/filter-helper.d.ts +0 -13
  144. package/esm/angular/interfaces/src/filter-helper.js +0 -59
  145. package/esm/angular/interfaces/src/grid-settings.d.ts +0 -145
  146. package/esm/angular/interfaces/src/grid-settings.js +0 -387
  147. package/esm/angular/interfaces/src/public_api.d.ts +0 -4
  148. package/esm/angular/interfaces/src/public_api.js +0 -4
  149. package/esm/angular/src/angular/RemultAngularPluginsService.d.ts +0 -4
  150. package/esm/angular/src/angular/RemultAngularPluginsService.js +0 -3
  151. package/esm/angular/src/angular/data-control/data-control2.component.d.ts +0 -49
  152. package/esm/angular/src/angular/data-control/data-control2.component.js +0 -138
  153. package/esm/core/SseSubscriptionServer.d.ts +0 -33
  154. package/esm/core/SseSubscriptionServer.js +0 -107
  155. package/esm/core/assign.d.ts +0 -1
  156. package/esm/core/assign.js +0 -5
  157. package/esm/core/classType.d.ts +0 -3
  158. package/esm/core/index.d.ts +0 -27
  159. package/esm/core/index.js +0 -25
  160. package/esm/core/inputTypes.d.ts +0 -9
  161. package/esm/core/inputTypes.js +0 -9
  162. package/esm/core/live-query/data-provider-live-query-storage.d.ts +0 -22
  163. package/esm/core/live-query/data-provider-live-query-storage.js +0 -71
  164. package/esm/core/postgres/index.d.ts +0 -2
  165. package/esm/core/postgres/index.js +0 -2
  166. package/esm/core/postgres/postgres-data-provider.d.ts +0 -36
  167. package/esm/core/postgres/postgres-data-provider.js +0 -120
  168. package/esm/core/postgres/schema-builder.d.ts +0 -17
  169. package/esm/core/postgres/schema-builder.js +0 -153
  170. package/esm/core/remult-fresh.d.ts +0 -17
  171. package/esm/core/remult-fresh.js +0 -29
  172. package/esm/core/remult-knex/index.d.ts +0 -30
  173. package/esm/core/remult-knex/index.js +0 -446
  174. package/esm/core/remult-mongo.d.ts +0 -24
  175. package/esm/core/remult-mongo.js +0 -254
  176. package/esm/core/server/JsonEntityFileStorage.d.ts +0 -10
  177. package/esm/core/server/JsonEntityFileStorage.js +0 -25
  178. package/esm/core/server/core.d.ts +0 -4
  179. package/esm/core/server/core.js +0 -4
  180. package/esm/core/server/expressBridge.js +0 -938
  181. package/esm/core/server/index.d.ts +0 -6
  182. package/esm/core/server/index.js +0 -9
  183. package/esm/core/server/initAsyncHooks.d.ts +0 -1
  184. package/esm/core/server/initAsyncHooks.js +0 -9
  185. package/esm/core/server/initDataProvider.d.ts +0 -2
  186. package/esm/core/server/initDataProvider.js +0 -14
  187. package/esm/core/src/__EntityValueProvider.d.ts +0 -11
  188. package/esm/core/src/__RowsOfDataForTesting.d.ts +0 -3
  189. package/esm/core/src/__RowsOfDataForTesting.js +0 -1
  190. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -6
  191. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -147
  192. package/esm/core/src/backend-tests/my-test.backend-spec.d.ts +0 -1
  193. package/esm/core/src/backend-tests/my-test.backend-spec.js +0 -197
  194. package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +0 -1
  195. package/esm/core/src/backend-tests/test-http-server.backend-spec.js +0 -167
  196. package/esm/core/src/buildRestDataProvider.d.ts +0 -31
  197. package/esm/core/src/buildRestDataProvider.js +0 -113
  198. package/esm/core/src/column-interfaces.d.ts +0 -154
  199. package/esm/core/src/column-interfaces.js +0 -7
  200. package/esm/core/src/column.d.ts +0 -58
  201. package/esm/core/src/column.js +0 -174
  202. package/esm/core/src/context.d.ts +0 -134
  203. package/esm/core/src/context.js +0 -286
  204. package/esm/core/src/data-api.d.ts +0 -39
  205. package/esm/core/src/data-api.js +0 -279
  206. package/esm/core/src/data-interfaces.d.ts +0 -41
  207. package/esm/core/src/data-interfaces.js +0 -12
  208. package/esm/core/src/data-providers/array-entity-data-provider.d.ts +0 -22
  209. package/esm/core/src/data-providers/array-entity-data-provider.js +0 -252
  210. package/esm/core/src/data-providers/in-memory-database.d.ts +0 -9
  211. package/esm/core/src/data-providers/in-memory-database.js +0 -14
  212. package/esm/core/src/data-providers/json-data-provider.d.ts +0 -12
  213. package/esm/core/src/data-providers/json-data-provider.js +0 -55
  214. package/esm/core/src/data-providers/rest-data-provider.d.ts +0 -49
  215. package/esm/core/src/data-providers/rest-data-provider.js +0 -256
  216. package/esm/core/src/data-providers/sql-database.d.ts +0 -33
  217. package/esm/core/src/data-providers/sql-database.js +0 -384
  218. package/esm/core/src/data-providers/web-sql-data-provider.d.ts +0 -24
  219. package/esm/core/src/data-providers/web-sql-data-provider.js +0 -143
  220. package/esm/core/src/entity.d.ts +0 -91
  221. package/esm/core/src/entity.js +0 -1
  222. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -50
  223. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +0 -150
  224. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -1
  225. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +0 -1
  226. package/esm/core/src/filter/filter-interfaces.d.ts +0 -85
  227. package/esm/core/src/filter/filter-interfaces.js +0 -477
  228. package/esm/core/src/live-query/LiveQueryClient.d.ts +0 -20
  229. package/esm/core/src/live-query/LiveQueryClient.js +0 -188
  230. package/esm/core/src/live-query/SseSubscriptionClient.d.ts +0 -5
  231. package/esm/core/src/live-query/SseSubscriptionClient.js +0 -86
  232. package/esm/core/src/live-query/SubscriptionChannel.d.ts +0 -72
  233. package/esm/core/src/live-query/SubscriptionChannel.js +0 -123
  234. package/esm/core/src/live-query/SubscriptionServer.d.ts +0 -53
  235. package/esm/core/src/live-query/SubscriptionServer.js +0 -111
  236. package/esm/core/src/live-query/live-query-tests.spec.d.ts +0 -6
  237. package/esm/core/src/live-query/live-query-tests.spec.js +0 -952
  238. package/esm/core/src/remult-proxy.d.ts +0 -35
  239. package/esm/core/src/remult-proxy.js +0 -113
  240. package/esm/core/src/remult3/DecoratorReplacer.d.ts +0 -10
  241. package/esm/core/src/remult3/RepositoryImplementation.d.ts +0 -355
  242. package/esm/core/src/remult3/RepositoryImplementation.js +0 -2109
  243. package/esm/core/src/remult3/index.d.ts +0 -2
  244. package/esm/core/src/remult3/index.js +0 -2
  245. package/esm/core/src/remult3/remult3.d.ts +0 -395
  246. package/esm/core/src/remult3/remult3.js +0 -2
  247. package/esm/core/src/server-action.d.ts +0 -81
  248. package/esm/core/src/server-action.js +0 -394
  249. package/esm/core/src/shared-tests/db-tests-setup.d.ts +0 -32
  250. package/esm/core/src/shared-tests/db-tests-setup.js +0 -78
  251. package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +0 -25
  252. package/esm/core/src/shared-tests/db-tests.db-tests.js +0 -810
  253. package/esm/core/src/shared-tests/deleteAll.d.ts +0 -2
  254. package/esm/core/src/shared-tests/deleteAll.js +0 -4
  255. package/esm/core/src/shared-tests/entityWithValidations.d.ts +0 -14
  256. package/esm/core/src/shared-tests/entityWithValidations.js +0 -43
  257. package/esm/core/src/shared-tests/index.d.ts +0 -4
  258. package/esm/core/src/shared-tests/index.js +0 -4
  259. package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +0 -1
  260. package/esm/core/src/shared-tests/test-custom-id-column.spec.js +0 -67
  261. package/esm/core/src/shared-tests/test-special-value.spec.d.ts +0 -10
  262. package/esm/core/src/shared-tests/test-special-value.spec.js +0 -73
  263. package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +0 -1
  264. package/esm/core/src/shared-tests/test-update-with-null.spec.js +0 -31
  265. package/esm/core/src/sort.d.ts +0 -16
  266. package/esm/core/src/sort.js +0 -103
  267. package/esm/core/src/sql-command.d.ts +0 -19
  268. package/esm/core/src/sql-command.js +0 -1
  269. package/esm/core/src/test.d.ts +0 -3
  270. package/esm/core/src/test.js +0 -12
  271. package/esm/core/src/tests/Done.d.ts +0 -5
  272. package/esm/core/src/tests/Done.js +0 -9
  273. package/esm/core/src/tests/RowProvider.spec.d.ts +0 -16
  274. package/esm/core/src/tests/RowProvider.spec.js +0 -631
  275. package/esm/core/src/tests/TestDataApiResponse.d.ts +0 -10
  276. package/esm/core/src/tests/TestDataApiResponse.js +0 -22
  277. package/esm/core/src/tests/basicRowFunctionality.spec.d.ts +0 -8
  278. package/esm/core/src/tests/basicRowFunctionality.spec.js +0 -2103
  279. package/esm/core/src/tests/c.d.ts +0 -8
  280. package/esm/core/src/tests/c.js +0 -13
  281. package/esm/core/src/tests/createData.d.ts +0 -7
  282. package/esm/core/src/tests/createData.js +0 -22
  283. package/esm/core/src/tests/d.d.ts +0 -6
  284. package/esm/core/src/tests/d.js +0 -11
  285. package/esm/core/src/tests/dWithPrefilter.d.ts +0 -7
  286. package/esm/core/src/tests/dWithPrefilter.js +0 -18
  287. package/esm/core/src/tests/entityForCustomFilter.d.ts +0 -16
  288. package/esm/core/src/tests/entityForCustomFilter.js +0 -33
  289. package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +0 -5
  290. package/esm/core/src/tests/entityWithValidationsOnColumn.js +0 -13
  291. package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +0 -4
  292. package/esm/core/src/tests/frontend-database-tests-setup.spec.js +0 -37
  293. package/esm/core/src/tests/h.d.ts +0 -6
  294. package/esm/core/src/tests/h.js +0 -24
  295. package/esm/core/src/tests/remult-3-basic-tests.spec.d.ts +0 -1
  296. package/esm/core/src/tests/remult-3-basic-tests.spec.js +0 -236
  297. package/esm/core/src/tests/remult-3-entities.d.ts +0 -23
  298. package/esm/core/src/tests/remult-3-entities.js +0 -39
  299. package/esm/core/src/tests/tasks.d.ts +0 -6
  300. package/esm/core/src/tests/tasks.js +0 -10
  301. package/esm/core/src/tests/test-context-as-storage.spec.d.ts +0 -0
  302. package/esm/core/src/tests/test-context-as-storage.spec.js +0 -1
  303. package/esm/core/src/tests/test-data-api/predefined-filter.spec.d.ts +0 -1
  304. package/esm/core/src/tests/test-data-api/predefined-filter.spec.js +0 -389
  305. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.d.ts +0 -5
  306. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.js +0 -152
  307. package/esm/core/src/tests/test-decorator-precedence.spec.d.ts +0 -1
  308. package/esm/core/src/tests/test-decorator-precedence.spec.js +0 -38
  309. package/esm/core/src/tests/test-default-value.spec.d.ts +0 -1
  310. package/esm/core/src/tests/test-default-value.spec.js +0 -33
  311. package/esm/core/src/tests/test-entity-inheritance.spec.d.ts +0 -14
  312. package/esm/core/src/tests/test-entity-inheritance.spec.js +0 -82
  313. package/esm/core/src/tests/test-exceptions.spec.d.ts +0 -1
  314. package/esm/core/src/tests/test-exceptions.spec.js +0 -375
  315. package/esm/core/src/tests/test-json.spec.d.ts +0 -1
  316. package/esm/core/src/tests/test-json.spec.js +0 -115
  317. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.d.ts +0 -9
  318. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.js +0 -809
  319. package/esm/core/src/tests/test-non-active-record.spec.d.ts +0 -1
  320. package/esm/core/src/tests/test-non-active-record.spec.js +0 -66
  321. package/esm/core/src/tests/test-object-column.spec.d.ts +0 -1
  322. package/esm/core/src/tests/test-object-column.spec.js +0 -189
  323. package/esm/core/src/tests/test-paged-foreach.spec.d.ts +0 -1
  324. package/esm/core/src/tests/test-paged-foreach.spec.js +0 -328
  325. package/esm/core/src/tests/test-remult-angular.spec.d.ts +0 -1
  326. package/esm/core/src/tests/test-remult-angular.spec.js +0 -23
  327. package/esm/core/src/tests/test-server-controller.spec.d.ts +0 -7
  328. package/esm/core/src/tests/test-server-controller.spec.js +0 -489
  329. package/esm/core/src/tests/test-server-expressions.spec.d.ts +0 -1
  330. package/esm/core/src/tests/test-server-expressions.spec.js +0 -178
  331. package/esm/core/src/tests/test-server-method-on-entity.spec.d.ts +0 -1
  332. package/esm/core/src/tests/test-server-method-on-entity.spec.js +0 -306
  333. package/esm/core/src/tests/test-sql-expression.spec.d.ts +0 -5
  334. package/esm/core/src/tests/test-sql-expression.spec.js +0 -205
  335. package/esm/core/src/tests/test-sql.spec.d.ts +0 -1
  336. package/esm/core/src/tests/test-sql.spec.js +0 -170
  337. package/esm/core/src/tests/test-subscribe.spec.d.ts +0 -1
  338. package/esm/core/src/tests/test-subscribe.spec.js +0 -135
  339. package/esm/core/src/tests/test-type-recovery.spec.d.ts +0 -1
  340. package/esm/core/src/tests/test-type-recovery.spec.js +0 -49
  341. package/esm/core/src/tests/test-where-api.spec.d.ts +0 -1
  342. package/esm/core/src/tests/test-where-api.spec.js +0 -434
  343. package/esm/core/src/tests/testHelper.spec.d.ts +0 -36
  344. package/esm/core/src/tests/testHelper.spec.js +0 -226
  345. package/esm/core/src/tests/testModel/models.d.ts +0 -16
  346. package/esm/core/src/tests/testModel/models.js +0 -25
  347. package/esm/core/src/validators.d.ts +0 -14
  348. package/esm/core/src/validators.js +0 -33
  349. package/esm/core/src/valueConverters.d.ts +0 -13
  350. package/esm/core/src/valueConverters.js +0 -197
  351. package/esm/core/urlBuilder.d.ts +0 -6
  352. package/esm/core/urlBuilder.js +0 -20
  353. package/esm/test-servers/shared/Task.d.ts +0 -9
  354. package/esm/test-servers/shared/Task.js +0 -32
  355. package/esm/test.d.ts +0 -5
  356. package/esm/test.js +0 -6
  357. /package/esm/{core/classType.js → src/remult3/columnInfo.js} +0 -0
  358. /package/esm/{core/src/__EntityValueProvider.js → src/remult3/relation-loader-types.js} +0 -0
@@ -1,2 +0,0 @@
1
- import { Repository } from "../remult3";
2
- export declare function deleteAll<entityType>(r: Repository<entityType>): Promise<Repository<entityType>>;
@@ -1,4 +0,0 @@
1
- export async function deleteAll(r) {
2
- await Promise.all((await r.find()).map(x => r.delete(x)));
3
- return r;
4
- }
@@ -1,14 +0,0 @@
1
- import { ClassType } from '../../classType';
2
- import { Remult } from '../context';
3
- import { EntityBase, Repository } from '../remult3';
4
- export declare var testConfiguration: {
5
- restDbRunningOnServer: boolean;
6
- };
7
- export declare class entityWithValidations extends EntityBase {
8
- private remult;
9
- myId: number;
10
- name: string;
11
- static savingRowCount: number;
12
- constructor(remult: Remult);
13
- static create4RowsInDp(createEntity: (entity: ClassType<any>) => Promise<Repository<entityWithValidations>>): Promise<Repository<entityWithValidations>>;
14
- }
@@ -1,43 +0,0 @@
1
- import { Entity, EntityBase, Fields } from '../remult3';
2
- export var testConfiguration = { restDbRunningOnServer: false };
3
- @Entity('', {
4
- allowApiCrud: true,
5
- saving: async (t) => {
6
- if (!t.name || t.name.length < 3)
7
- t._.fields.name.error = 'invalid';
8
- if (!testConfiguration.restDbRunningOnServer)
9
- entityWithValidations.savingRowCount++;
10
- }
11
- })
12
- export class entityWithValidations extends EntityBase {
13
- remult;
14
- @Fields.integer()
15
- myId;
16
- @Fields.string()
17
- name;
18
- static savingRowCount = 0;
19
- constructor(remult) {
20
- super();
21
- this.remult = remult;
22
- }
23
- static async create4RowsInDp(createEntity) {
24
- let s = await createEntity(entityWithValidations);
25
- let c = s.create();
26
- c.myId = 1;
27
- c.name = 'noam';
28
- await c._.save();
29
- c = s.create();
30
- c.myId = 2;
31
- c.name = 'yael';
32
- await c._.save();
33
- c = s.create();
34
- c.myId = 3;
35
- c.name = 'yoni';
36
- await c._.save();
37
- c = s.create();
38
- c.myId = 4;
39
- c.name = 'maayan';
40
- await c._.save();
41
- return s;
42
- }
43
- }
@@ -1,4 +0,0 @@
1
- import './db-tests.db-tests';
2
- import './test-custom-id-column.spec';
3
- import './test-special-value.spec';
4
- import './test-update-with-null.spec';
@@ -1,4 +0,0 @@
1
- import './db-tests.db-tests';
2
- import './test-custom-id-column.spec';
3
- import './test-special-value.spec';
4
- import './test-update-with-null.spec';
@@ -1,67 +0,0 @@
1
- import { Entity, EntityBase, Fields } from '../remult3';
2
- import { describeClass } from '../remult3/DecoratorReplacer';
3
- import { testAll } from './db-tests-setup';
4
- describe("custom id column", () => {
5
- testAll("basic test", async ({ createEntity }) => {
6
- let type = class extends EntityBase {
7
- a;
8
- b;
9
- };
10
- describeClass(type, Entity('custom', { allowApiCrud: true }), {
11
- a: Fields.number(),
12
- b: Fields.number()
13
- });
14
- let c = await createEntity(type);
15
- let r = c.create();
16
- r.a = 1;
17
- r.b = 1;
18
- await r._.save();
19
- r = c.create();
20
- r.a = 2;
21
- r.b = 2;
22
- await r._.save();
23
- expect(c.metadata.idMetadata.field.key).toBe(c.metadata.fields.a.key);
24
- });
25
- testAll("basic test id column not first column", async ({ createEntity }) => {
26
- let type = class extends EntityBase {
27
- a;
28
- id;
29
- };
30
- Entity('custom2', { allowApiCrud: true })(type);
31
- Fields.number()(type.prototype, 'a');
32
- Fields.number()(type.prototype, 'id');
33
- let c = await createEntity(type);
34
- let r = c.create();
35
- r.a = 1;
36
- r.id = 5;
37
- await r._.save();
38
- r = c.create();
39
- r.a = 2;
40
- r.id = 6;
41
- await r._.save();
42
- expect(r._.repository.metadata.idMetadata.field.key).toBe(r._.fields.id.metadata.key);
43
- expect((await c.findId(6)).a).toBe(2);
44
- });
45
- });
46
- //typing game
47
- // var z = <Z>(y: Z) => {
48
- // }
49
- // z<number>(1);
50
- // function myBackendMethod<T>(types: T, values: values<T>) {
51
- // }
52
- // type values<T> = {
53
- // [Property in keyof T]: T[Property] extends new (...args: any[]) => infer R ? R : any;
54
- // };
55
- // const a1 = AccountManager;
56
- // const a = {
57
- // a: String.prototype,
58
- // b: AccountManager.prototype
59
- // };
60
- // var zzz: AccountManager = undefined!;
61
- // myBackendMethod({
62
- // a: String,
63
- // b: AccountManager
64
- // }, {
65
- // b: new AccountManager(),
66
- // a: "asdf"
67
- // })
@@ -1,10 +0,0 @@
1
- export declare class GroupsValue {
2
- private readonly value;
3
- hasAny(): boolean;
4
- constructor(value: string);
5
- evilGet(): string;
6
- listGroups(): string[];
7
- removeGroup(group: string): GroupsValue;
8
- addGroup(group: string): GroupsValue;
9
- selected(group: string): boolean;
10
- }
@@ -1,73 +0,0 @@
1
- import { Entity, EntityBase, Field, FieldType, Fields } from "../remult3";
2
- import { testAll } from "./db-tests-setup";
3
- @FieldType({
4
- valueConverter: {
5
- toJson: x => x ? x.value : '',
6
- fromJson: x => new GroupsValue(x),
7
- displayValue: x => x.value
8
- }
9
- })
10
- export class GroupsValue {
11
- value;
12
- hasAny() {
13
- return this.value != '';
14
- }
15
- constructor(value) {
16
- this.value = value;
17
- }
18
- evilGet() {
19
- return this.value;
20
- }
21
- listGroups() {
22
- if (!this.value)
23
- return [];
24
- return this.value.split(',');
25
- }
26
- removeGroup(group) {
27
- let groups = this.value.split(",").map(x => x.trim());
28
- let index = groups.indexOf(group);
29
- let result = '';
30
- if (index >= 0) {
31
- groups.splice(index, 1);
32
- result = groups.join(", ");
33
- }
34
- return new GroupsValue(result);
35
- }
36
- addGroup(group) {
37
- let r = this.value;
38
- if (r)
39
- r += ', ';
40
- else
41
- r = '';
42
- r += group;
43
- return new GroupsValue(r);
44
- }
45
- selected(group) {
46
- if (!this.value)
47
- return false;
48
- return this.value.indexOf(group) >= 0;
49
- }
50
- }
51
- @Entity("testGroups", { allowApiCrud: true })
52
- class testGroups extends EntityBase {
53
- @Fields.integer()
54
- id = 0;
55
- @Field(() => GroupsValue)
56
- g;
57
- }
58
- testAll("test save and load", async ({ createEntity }) => {
59
- let re = await createEntity(testGroups);
60
- await re.create({ id: 1 }).save();
61
- let x = await re.findFirst();
62
- expect(x.g.evilGet()).toBe('');
63
- x.g = x.g.addGroup("xx");
64
- expect(x.$.g.valueChanged()).toBe(true);
65
- await x.save();
66
- expect(x.g.evilGet()).toBe('xx');
67
- });
68
- testAll("test2 save and load", async ({ createEntity }) => {
69
- let re = await createEntity(testGroups);
70
- await re.create({ id: 1, g: new GroupsValue(undefined) }).save();
71
- let x = await re.findFirst();
72
- expect(x.g.evilGet()).toBe('');
73
- });
@@ -1,31 +0,0 @@
1
- import { Entity, EntityBase, Field, Fields } from "../remult3";
2
- import { testAll } from "./db-tests-setup";
3
- @Entity('testNull', { allowApiCrud: true })
4
- class testNull extends EntityBase {
5
- @Fields.integer()
6
- id = 0;
7
- @Field(undefined, { allowNull: true })
8
- myCol;
9
- @Fields.integer({ allowNull: true })
10
- numberWithNull = null;
11
- }
12
- testAll("test that update null works", async ({ createEntity }) => {
13
- let r = await createEntity(testNull);
14
- let i = r.create({ id: 1, myCol: { value: 'abc' } });
15
- await i.save();
16
- expect(i.myCol?.value).toBe("abc");
17
- i.myCol = null;
18
- expect(i.myCol).toBe(null);
19
- await i.save();
20
- expect(i.myCol).toBe(null);
21
- }, false);
22
- testAll("test number with null", async ({ createEntity }) => {
23
- let r = await createEntity(testNull);
24
- const i = await r.insert({ id: 1, myCol: { value: 'abc' }, numberWithNull: null });
25
- expect(i.numberWithNull).toBe(null);
26
- expect(await r.count({ numberWithNull: null })).toBe(1);
27
- i.numberWithNull = 0;
28
- await i.save();
29
- expect(i.numberWithNull).toBe(0);
30
- expect(await r.count({ numberWithNull: null })).toBe(0);
31
- }, false);
@@ -1,16 +0,0 @@
1
- import { FieldMetadata } from "./column-interfaces";
2
- import { EntityMetadata, EntityOrderBy } from "./remult3";
3
- export declare class Sort {
4
- toEntityOrderBy(): EntityOrderBy<any>;
5
- constructor(...segments: SortSegment[]);
6
- Segments: SortSegment[];
7
- reverse(): Sort;
8
- compare(a: any, b: any): number;
9
- static translateOrderByToSort<T>(entityDefs: EntityMetadata<T>, orderBy: EntityOrderBy<T>): Sort;
10
- static createUniqueSort<T>(entityMetadata: EntityMetadata<T>, orderBy: Sort): Sort;
11
- static createUniqueEntityOrderBy<T>(entityMetadata: EntityMetadata<T>, orderBy: EntityOrderBy<T>): EntityOrderBy<T>;
12
- }
13
- export interface SortSegment {
14
- field: FieldMetadata;
15
- isDescending?: boolean;
16
- }
@@ -1,103 +0,0 @@
1
- import { CompoundIdField } from "./column";
2
- export class Sort {
3
- toEntityOrderBy() {
4
- let result = {};
5
- for (const seg of this.Segments) {
6
- if (seg.isDescending) {
7
- result[seg.field.key] = "desc";
8
- }
9
- else
10
- result[seg.field.key] = "asc";
11
- }
12
- return result;
13
- }
14
- constructor(...segments) {
15
- this.Segments = segments;
16
- }
17
- Segments;
18
- reverse() {
19
- let r = new Sort();
20
- for (const s of this.Segments) {
21
- r.Segments.push({ field: s.field, isDescending: !s.isDescending });
22
- }
23
- return r;
24
- }
25
- compare(a, b) {
26
- let r = 0;
27
- for (let i = 0; i < this.Segments.length; i++) {
28
- let seg = this.Segments[i];
29
- let left = a[seg.field.key];
30
- let right = b[seg.field.key];
31
- if (left > right)
32
- r = 1;
33
- else if (left < right)
34
- r = -1;
35
- if (r != 0) {
36
- if (seg.isDescending)
37
- r *= -1;
38
- return r;
39
- }
40
- }
41
- return r;
42
- }
43
- static translateOrderByToSort(entityDefs, orderBy) {
44
- if (!orderBy)
45
- return undefined;
46
- let sort;
47
- if (orderBy) {
48
- sort = new Sort();
49
- for (const key in orderBy) {
50
- if (Object.prototype.hasOwnProperty.call(orderBy, key)) {
51
- const element = orderBy[key];
52
- let field = entityDefs.fields.find(key);
53
- if (field) {
54
- switch (element) {
55
- case "desc":
56
- sort.Segments.push({ field, isDescending: true });
57
- break;
58
- case "asc":
59
- sort.Segments.push({ field });
60
- }
61
- }
62
- }
63
- }
64
- }
65
- return sort;
66
- }
67
- static createUniqueSort(entityMetadata, orderBy) {
68
- if (!orderBy || Object.keys(orderBy).length === 0)
69
- orderBy = Sort.translateOrderByToSort(entityMetadata, entityMetadata.options.defaultOrderBy);
70
- if (!orderBy)
71
- orderBy = new Sort({ field: entityMetadata.idMetadata.field });
72
- if (entityMetadata.idMetadata.field instanceof CompoundIdField) {
73
- for (const field of entityMetadata.idMetadata.field.fields) {
74
- if (!orderBy.Segments.find(x => x.field == field)) {
75
- orderBy.Segments.push({ field: field });
76
- }
77
- }
78
- }
79
- else if (!orderBy.Segments.find(x => x.field == entityMetadata.idMetadata.field)) {
80
- orderBy.Segments.push({ field: entityMetadata.idMetadata.field });
81
- }
82
- return orderBy;
83
- }
84
- static createUniqueEntityOrderBy(entityMetadata, orderBy) {
85
- if (!orderBy || Object.keys(orderBy).length === 0)
86
- orderBy = entityMetadata.options.defaultOrderBy;
87
- if (!orderBy)
88
- orderBy = { [entityMetadata.idMetadata.field.key]: "asc" };
89
- else
90
- orderBy = { ...orderBy };
91
- if (entityMetadata.idMetadata.field instanceof CompoundIdField) {
92
- for (const field of entityMetadata.idMetadata.field.fields) {
93
- if (!orderBy[field.key]) {
94
- orderBy[field.key] = "asc";
95
- }
96
- }
97
- }
98
- else if (!orderBy[entityMetadata.idMetadata.field.key]) {
99
- orderBy[entityMetadata.idMetadata.field.key] = "asc";
100
- }
101
- return orderBy;
102
- }
103
- }
@@ -1,19 +0,0 @@
1
- import { EntityMetadata } from './remult3';
2
- export interface SqlImplementation {
3
- getLimitSqlSyntax(limit: number, offset: number): any;
4
- createCommand(): SqlCommand;
5
- transaction(action: (sql: SqlImplementation) => Promise<void>): Promise<void>;
6
- entityIsUsedForTheFirstTime(entity: EntityMetadata): Promise<void>;
7
- ensureSchema?(entities: EntityMetadata[]): Promise<void>;
8
- supportsJsonColumnType?: boolean;
9
- }
10
- export interface SqlCommand extends SqlCommandWithParameters {
11
- execute(sql: string): Promise<SqlResult>;
12
- }
13
- export interface SqlCommandWithParameters {
14
- addParameterAndReturnSqlToken(val: any): string;
15
- }
16
- export interface SqlResult {
17
- rows: any[];
18
- getColumnKeyInResultForIndexInSelect(index: number): string;
19
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import 'core-js/es7/reflect';
2
- import 'zone.js/dist/zone';
3
- import 'zone.js/dist/zone-testing';
@@ -1,12 +0,0 @@
1
- // This file is required by karma.conf.js and loads recursively all the .spec and framework files
2
- import 'core-js/es7/reflect';
3
- import 'zone.js/dist/zone';
4
- import 'zone.js/dist/zone-testing';
5
- import { getTestBed } from '@angular/core/testing';
6
- import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing';
7
- // First, initialize the Angular testing environment.
8
- getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting());
9
- // Then we find all the tests.
10
- const context = require.context('./', true, /\.spec\.ts$/);
11
- // And load the modules.
12
- context.keys().map(context);
@@ -1,5 +0,0 @@
1
- export declare class Done {
2
- happened: boolean;
3
- ok(): void;
4
- test(message?: string): void;
5
- }
@@ -1,9 +0,0 @@
1
- export class Done {
2
- happened = false;
3
- ok() {
4
- this.happened = true;
5
- }
6
- test(message = 'expected to be done') {
7
- expect(this.happened).toBe(true, message);
8
- }
9
- }
@@ -1,16 +0,0 @@
1
- import { ArrayEntityDataProvider } from "../data-providers/array-entity-data-provider";
2
- import { Remult } from '../context';
3
- import { CategoriesForTesting } from './remult-3-entities';
4
- import { EntityMetadata, Repository } from '../remult3';
5
- export declare class Language {
6
- id: number;
7
- caption: string;
8
- static Hebrew: Language;
9
- static Russian: Language;
10
- constructor(id: number, caption: string);
11
- }
12
- export declare function insertFourRows(): Promise<[Repository<CategoriesForTesting>, Remult]>;
13
- export declare class myDp extends ArrayEntityDataProvider {
14
- constructor(entity: EntityMetadata);
15
- update(id: any, data: any): Promise<any>;
16
- }