remult 0.22.1 → 0.22.3

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 (257) hide show
  1. package/esm/graphql.js +27 -27
  2. package/esm/postgres/schema-builder.js +4 -4
  3. package/esm/remult-knex/index.js +2 -2
  4. package/esm/remult-mongo.js +6 -6
  5. package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +30 -0
  6. package/esm/src/id-entity.d.ts +4 -0
  7. package/esm/src/id-entity.js +8 -0
  8. package/esm/src/remult3/RepositoryImplementation.js +7 -5
  9. package/esm/src/shared-tests/db-tests.db-tests.js +35 -0
  10. package/package.json +1 -1
  11. package/postgres/postgresColumnSyntax.d.ts +2 -0
  12. package/postgres/postgresColumnSyntax.js +34 -0
  13. package/remult-knex/index.js +2 -2
  14. package/remult-middleware.d.ts +2 -0
  15. package/remult-middleware.js +70 -0
  16. package/remult-mongo.js +6 -6
  17. package/server/register-actions-on-server.d.ts +3 -0
  18. package/server/register-actions-on-server.js +50 -0
  19. package/server/register-entities-on-server.d.ts +3 -0
  20. package/server/register-entities-on-server.js +19 -0
  21. package/src/backend-tests/backend-database-test-setup.backend-spec.js +60 -0
  22. package/{esm/core/src → src}/backend-tests/my-test.backend-spec.d.ts +1 -1
  23. package/src/backend-tests/my-test.backend-spec.js +217 -0
  24. package/src/backend-tests/test-http-server.backend-spec.d.ts +6 -0
  25. package/src/backend-tests/test-http-server.backend-spec.js +342 -0
  26. package/src/id-entity.d.ts +4 -0
  27. package/src/id-entity.js +17 -0
  28. package/src/remult3/RepositoryImplementation.js +15 -13
  29. package/src/shared-tests/db-tests.db-tests.js +64 -0
  30. package/{esm/core/src/valueConverters.d.ts → valueConverters.d.ts} +12 -13
  31. package/valueConverters.js +168 -0
  32. package/esm/angular/interfaces/index.d.ts +0 -1
  33. package/esm/angular/interfaces/index.js +0 -1
  34. package/esm/angular/interfaces/src/column-collection.d.ts +0 -70
  35. package/esm/angular/interfaces/src/column-collection.js +0 -341
  36. package/esm/angular/interfaces/src/data-area-settings.d.ts +0 -15
  37. package/esm/angular/interfaces/src/data-area-settings.js +0 -35
  38. package/esm/angular/interfaces/src/data-control-interfaces.d.ts +0 -36
  39. package/esm/angular/interfaces/src/data-control-interfaces.js +0 -57
  40. package/esm/angular/interfaces/src/dataList.d.ts +0 -13
  41. package/esm/angular/interfaces/src/dataList.js +0 -42
  42. package/esm/angular/interfaces/src/filter-helper.d.ts +0 -13
  43. package/esm/angular/interfaces/src/filter-helper.js +0 -59
  44. package/esm/angular/interfaces/src/grid-settings.d.ts +0 -145
  45. package/esm/angular/interfaces/src/grid-settings.js +0 -387
  46. package/esm/angular/interfaces/src/public_api.d.ts +0 -4
  47. package/esm/angular/interfaces/src/public_api.js +0 -4
  48. package/esm/angular/src/angular/RemultAngularPluginsService.d.ts +0 -4
  49. package/esm/angular/src/angular/RemultAngularPluginsService.js +0 -3
  50. package/esm/angular/src/angular/data-control/data-control2.component.d.ts +0 -49
  51. package/esm/angular/src/angular/data-control/data-control2.component.js +0 -138
  52. package/esm/core/SseSubscriptionServer.d.ts +0 -33
  53. package/esm/core/SseSubscriptionServer.js +0 -107
  54. package/esm/core/assign.d.ts +0 -1
  55. package/esm/core/assign.js +0 -5
  56. package/esm/core/classType.d.ts +0 -3
  57. package/esm/core/classType.js +0 -1
  58. package/esm/core/index.d.ts +0 -27
  59. package/esm/core/index.js +0 -25
  60. package/esm/core/inputTypes.d.ts +0 -9
  61. package/esm/core/inputTypes.js +0 -9
  62. package/esm/core/live-query/data-provider-live-query-storage.d.ts +0 -22
  63. package/esm/core/live-query/data-provider-live-query-storage.js +0 -71
  64. package/esm/core/postgres/index.d.ts +0 -2
  65. package/esm/core/postgres/index.js +0 -2
  66. package/esm/core/postgres/postgres-data-provider.d.ts +0 -36
  67. package/esm/core/postgres/postgres-data-provider.js +0 -120
  68. package/esm/core/postgres/schema-builder.d.ts +0 -17
  69. package/esm/core/postgres/schema-builder.js +0 -153
  70. package/esm/core/remult-fresh.d.ts +0 -17
  71. package/esm/core/remult-fresh.js +0 -29
  72. package/esm/core/remult-knex/index.d.ts +0 -30
  73. package/esm/core/remult-knex/index.js +0 -446
  74. package/esm/core/remult-mongo.d.ts +0 -24
  75. package/esm/core/remult-mongo.js +0 -254
  76. package/esm/core/server/JsonEntityFileStorage.d.ts +0 -10
  77. package/esm/core/server/JsonEntityFileStorage.js +0 -25
  78. package/esm/core/server/core.d.ts +0 -4
  79. package/esm/core/server/core.js +0 -4
  80. package/esm/core/server/expressBridge.d.ts +0 -182
  81. package/esm/core/server/expressBridge.js +0 -938
  82. package/esm/core/server/index.d.ts +0 -6
  83. package/esm/core/server/index.js +0 -9
  84. package/esm/core/server/initAsyncHooks.d.ts +0 -1
  85. package/esm/core/server/initAsyncHooks.js +0 -9
  86. package/esm/core/server/initDataProvider.d.ts +0 -2
  87. package/esm/core/server/initDataProvider.js +0 -14
  88. package/esm/core/src/__EntityValueProvider.d.ts +0 -11
  89. package/esm/core/src/__EntityValueProvider.js +0 -1
  90. package/esm/core/src/__RowsOfDataForTesting.d.ts +0 -3
  91. package/esm/core/src/__RowsOfDataForTesting.js +0 -1
  92. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +0 -6
  93. package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +0 -147
  94. package/esm/core/src/backend-tests/my-test.backend-spec.js +0 -197
  95. package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +0 -1
  96. package/esm/core/src/backend-tests/test-http-server.backend-spec.js +0 -167
  97. package/esm/core/src/buildRestDataProvider.d.ts +0 -31
  98. package/esm/core/src/buildRestDataProvider.js +0 -113
  99. package/esm/core/src/column-interfaces.d.ts +0 -154
  100. package/esm/core/src/column-interfaces.js +0 -7
  101. package/esm/core/src/column.d.ts +0 -58
  102. package/esm/core/src/column.js +0 -174
  103. package/esm/core/src/context.d.ts +0 -134
  104. package/esm/core/src/context.js +0 -286
  105. package/esm/core/src/data-api.d.ts +0 -39
  106. package/esm/core/src/data-api.js +0 -279
  107. package/esm/core/src/data-interfaces.d.ts +0 -41
  108. package/esm/core/src/data-interfaces.js +0 -12
  109. package/esm/core/src/data-providers/array-entity-data-provider.d.ts +0 -22
  110. package/esm/core/src/data-providers/array-entity-data-provider.js +0 -252
  111. package/esm/core/src/data-providers/in-memory-database.d.ts +0 -9
  112. package/esm/core/src/data-providers/in-memory-database.js +0 -14
  113. package/esm/core/src/data-providers/json-data-provider.d.ts +0 -12
  114. package/esm/core/src/data-providers/json-data-provider.js +0 -55
  115. package/esm/core/src/data-providers/rest-data-provider.d.ts +0 -49
  116. package/esm/core/src/data-providers/rest-data-provider.js +0 -256
  117. package/esm/core/src/data-providers/sql-database.d.ts +0 -33
  118. package/esm/core/src/data-providers/sql-database.js +0 -384
  119. package/esm/core/src/data-providers/web-sql-data-provider.d.ts +0 -24
  120. package/esm/core/src/data-providers/web-sql-data-provider.js +0 -143
  121. package/esm/core/src/entity.d.ts +0 -91
  122. package/esm/core/src/entity.js +0 -1
  123. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -50
  124. package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +0 -150
  125. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -1
  126. package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +0 -1
  127. package/esm/core/src/filter/filter-interfaces.d.ts +0 -85
  128. package/esm/core/src/filter/filter-interfaces.js +0 -477
  129. package/esm/core/src/live-query/LiveQueryClient.d.ts +0 -20
  130. package/esm/core/src/live-query/LiveQueryClient.js +0 -188
  131. package/esm/core/src/live-query/SseSubscriptionClient.d.ts +0 -5
  132. package/esm/core/src/live-query/SseSubscriptionClient.js +0 -86
  133. package/esm/core/src/live-query/SubscriptionChannel.d.ts +0 -72
  134. package/esm/core/src/live-query/SubscriptionChannel.js +0 -123
  135. package/esm/core/src/live-query/SubscriptionServer.d.ts +0 -53
  136. package/esm/core/src/live-query/SubscriptionServer.js +0 -111
  137. package/esm/core/src/live-query/live-query-tests.spec.d.ts +0 -6
  138. package/esm/core/src/live-query/live-query-tests.spec.js +0 -952
  139. package/esm/core/src/remult-proxy.d.ts +0 -35
  140. package/esm/core/src/remult-proxy.js +0 -113
  141. package/esm/core/src/remult3/DecoratorReplacer.d.ts +0 -10
  142. package/esm/core/src/remult3/DecoratorReplacer.js +0 -20
  143. package/esm/core/src/remult3/RepositoryImplementation.d.ts +0 -355
  144. package/esm/core/src/remult3/RepositoryImplementation.js +0 -2109
  145. package/esm/core/src/remult3/index.d.ts +0 -2
  146. package/esm/core/src/remult3/index.js +0 -2
  147. package/esm/core/src/remult3/remult3.d.ts +0 -395
  148. package/esm/core/src/remult3/remult3.js +0 -2
  149. package/esm/core/src/server-action.d.ts +0 -81
  150. package/esm/core/src/server-action.js +0 -394
  151. package/esm/core/src/shared-tests/db-tests-setup.d.ts +0 -32
  152. package/esm/core/src/shared-tests/db-tests-setup.js +0 -78
  153. package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +0 -25
  154. package/esm/core/src/shared-tests/db-tests.db-tests.js +0 -810
  155. package/esm/core/src/shared-tests/deleteAll.d.ts +0 -2
  156. package/esm/core/src/shared-tests/deleteAll.js +0 -4
  157. package/esm/core/src/shared-tests/entityWithValidations.d.ts +0 -14
  158. package/esm/core/src/shared-tests/entityWithValidations.js +0 -43
  159. package/esm/core/src/shared-tests/index.d.ts +0 -4
  160. package/esm/core/src/shared-tests/index.js +0 -4
  161. package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +0 -1
  162. package/esm/core/src/shared-tests/test-custom-id-column.spec.js +0 -67
  163. package/esm/core/src/shared-tests/test-special-value.spec.d.ts +0 -10
  164. package/esm/core/src/shared-tests/test-special-value.spec.js +0 -73
  165. package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +0 -1
  166. package/esm/core/src/shared-tests/test-update-with-null.spec.js +0 -31
  167. package/esm/core/src/sort.d.ts +0 -16
  168. package/esm/core/src/sort.js +0 -103
  169. package/esm/core/src/sql-command.d.ts +0 -19
  170. package/esm/core/src/sql-command.js +0 -1
  171. package/esm/core/src/test.d.ts +0 -3
  172. package/esm/core/src/test.js +0 -12
  173. package/esm/core/src/tests/Done.d.ts +0 -5
  174. package/esm/core/src/tests/Done.js +0 -9
  175. package/esm/core/src/tests/RowProvider.spec.d.ts +0 -16
  176. package/esm/core/src/tests/RowProvider.spec.js +0 -631
  177. package/esm/core/src/tests/TestDataApiResponse.d.ts +0 -10
  178. package/esm/core/src/tests/TestDataApiResponse.js +0 -22
  179. package/esm/core/src/tests/basicRowFunctionality.spec.d.ts +0 -8
  180. package/esm/core/src/tests/basicRowFunctionality.spec.js +0 -2103
  181. package/esm/core/src/tests/c.d.ts +0 -8
  182. package/esm/core/src/tests/c.js +0 -13
  183. package/esm/core/src/tests/createData.d.ts +0 -7
  184. package/esm/core/src/tests/createData.js +0 -22
  185. package/esm/core/src/tests/d.d.ts +0 -6
  186. package/esm/core/src/tests/d.js +0 -11
  187. package/esm/core/src/tests/dWithPrefilter.d.ts +0 -7
  188. package/esm/core/src/tests/dWithPrefilter.js +0 -18
  189. package/esm/core/src/tests/entityForCustomFilter.d.ts +0 -16
  190. package/esm/core/src/tests/entityForCustomFilter.js +0 -33
  191. package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +0 -5
  192. package/esm/core/src/tests/entityWithValidationsOnColumn.js +0 -13
  193. package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +0 -4
  194. package/esm/core/src/tests/frontend-database-tests-setup.spec.js +0 -37
  195. package/esm/core/src/tests/h.d.ts +0 -6
  196. package/esm/core/src/tests/h.js +0 -24
  197. package/esm/core/src/tests/remult-3-basic-tests.spec.d.ts +0 -1
  198. package/esm/core/src/tests/remult-3-basic-tests.spec.js +0 -236
  199. package/esm/core/src/tests/remult-3-entities.d.ts +0 -23
  200. package/esm/core/src/tests/remult-3-entities.js +0 -39
  201. package/esm/core/src/tests/tasks.d.ts +0 -6
  202. package/esm/core/src/tests/tasks.js +0 -10
  203. package/esm/core/src/tests/test-context-as-storage.spec.d.ts +0 -0
  204. package/esm/core/src/tests/test-context-as-storage.spec.js +0 -1
  205. package/esm/core/src/tests/test-data-api/predefined-filter.spec.d.ts +0 -1
  206. package/esm/core/src/tests/test-data-api/predefined-filter.spec.js +0 -389
  207. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.d.ts +0 -5
  208. package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.js +0 -152
  209. package/esm/core/src/tests/test-decorator-precedence.spec.d.ts +0 -1
  210. package/esm/core/src/tests/test-decorator-precedence.spec.js +0 -38
  211. package/esm/core/src/tests/test-default-value.spec.d.ts +0 -1
  212. package/esm/core/src/tests/test-default-value.spec.js +0 -33
  213. package/esm/core/src/tests/test-entity-inheritance.spec.d.ts +0 -14
  214. package/esm/core/src/tests/test-entity-inheritance.spec.js +0 -82
  215. package/esm/core/src/tests/test-exceptions.spec.d.ts +0 -1
  216. package/esm/core/src/tests/test-exceptions.spec.js +0 -375
  217. package/esm/core/src/tests/test-json.spec.d.ts +0 -1
  218. package/esm/core/src/tests/test-json.spec.js +0 -115
  219. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.d.ts +0 -9
  220. package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.js +0 -809
  221. package/esm/core/src/tests/test-non-active-record.spec.d.ts +0 -1
  222. package/esm/core/src/tests/test-non-active-record.spec.js +0 -66
  223. package/esm/core/src/tests/test-object-column.spec.d.ts +0 -1
  224. package/esm/core/src/tests/test-object-column.spec.js +0 -189
  225. package/esm/core/src/tests/test-paged-foreach.spec.d.ts +0 -1
  226. package/esm/core/src/tests/test-paged-foreach.spec.js +0 -328
  227. package/esm/core/src/tests/test-remult-angular.spec.d.ts +0 -1
  228. package/esm/core/src/tests/test-remult-angular.spec.js +0 -23
  229. package/esm/core/src/tests/test-server-controller.spec.d.ts +0 -7
  230. package/esm/core/src/tests/test-server-controller.spec.js +0 -489
  231. package/esm/core/src/tests/test-server-expressions.spec.d.ts +0 -1
  232. package/esm/core/src/tests/test-server-expressions.spec.js +0 -178
  233. package/esm/core/src/tests/test-server-method-on-entity.spec.d.ts +0 -1
  234. package/esm/core/src/tests/test-server-method-on-entity.spec.js +0 -306
  235. package/esm/core/src/tests/test-sql-expression.spec.d.ts +0 -5
  236. package/esm/core/src/tests/test-sql-expression.spec.js +0 -205
  237. package/esm/core/src/tests/test-sql.spec.d.ts +0 -1
  238. package/esm/core/src/tests/test-sql.spec.js +0 -170
  239. package/esm/core/src/tests/test-subscribe.spec.d.ts +0 -1
  240. package/esm/core/src/tests/test-subscribe.spec.js +0 -135
  241. package/esm/core/src/tests/test-type-recovery.spec.d.ts +0 -1
  242. package/esm/core/src/tests/test-type-recovery.spec.js +0 -49
  243. package/esm/core/src/tests/test-where-api.spec.d.ts +0 -1
  244. package/esm/core/src/tests/test-where-api.spec.js +0 -434
  245. package/esm/core/src/tests/testHelper.spec.d.ts +0 -36
  246. package/esm/core/src/tests/testHelper.spec.js +0 -226
  247. package/esm/core/src/tests/testModel/models.d.ts +0 -16
  248. package/esm/core/src/tests/testModel/models.js +0 -25
  249. package/esm/core/src/validators.d.ts +0 -14
  250. package/esm/core/src/validators.js +0 -33
  251. package/esm/core/src/valueConverters.js +0 -197
  252. package/esm/core/urlBuilder.d.ts +0 -6
  253. package/esm/core/urlBuilder.js +0 -20
  254. package/esm/test-servers/shared/Task.d.ts +0 -9
  255. package/esm/test-servers/shared/Task.js +0 -32
  256. package/esm/test.d.ts +0 -5
  257. package/esm/test.js +0 -6
@@ -1,35 +0,0 @@
1
- import type { ClassType } from "../classType";
2
- import type { Allowed, AllowedForInstance, ApiClient, GetArguments, Remult, RemultContext, UserInfo } from "./context";
3
- import type { DataProvider } from "./data-interfaces";
4
- import { LiveQueryClient } from "./live-query/LiveQueryClient";
5
- import type { LiveQueryChangesListener, LiveQueryStorage, SubscriptionServer } from "./live-query/SubscriptionServer";
6
- import type { Repository } from "./remult3";
7
- export declare class RemultProxy implements Remult {
8
- static defaultRemult: Remult;
9
- get liveQuerySubscriber(): LiveQueryClient;
10
- set liveQuerySubscriber(val: LiveQueryClient);
11
- get liveQueryStorage(): LiveQueryStorage;
12
- set liveQueryStorage(val: LiveQueryStorage);
13
- get liveQueryPublisher(): LiveQueryChangesListener;
14
- set liveQueryPublisher(val: LiveQueryChangesListener);
15
- call<T extends ((...args: any[]) => Promise<any>)>(backendMethod: T, self?: any, ...args: GetArguments<T>): ReturnType<T>;
16
- get context(): RemultContext;
17
- get dataProvider(): DataProvider;
18
- set dataProvider(provider: DataProvider);
19
- get repCache(): Map<DataProvider, Map<ClassType<any>, Repository<any>>>;
20
- authenticated(): boolean;
21
- isAllowed(roles?: Allowed): boolean;
22
- isAllowedForInstance(instance: any, allowed?: AllowedForInstance<any>): boolean;
23
- clearAllCache(): any;
24
- remultFactory: () => Remult;
25
- resetFactory(): void;
26
- private repoCache;
27
- repo: typeof RemultProxy.defaultRemult.repo;
28
- get user(): UserInfo | undefined;
29
- set user(info: UserInfo | undefined);
30
- get apiClient(): ApiClient;
31
- set apiClient(client: ApiClient);
32
- get subscriptionServer(): SubscriptionServer;
33
- set subscriptionServer(value: SubscriptionServer);
34
- }
35
- export declare const remult: Remult;
@@ -1,113 +0,0 @@
1
- /*@internal*/
2
- export class RemultProxy {
3
- static defaultRemult;
4
- /* @internal*/
5
- get liveQuerySubscriber() { return this.remultFactory().liveQuerySubscriber; }
6
- ;
7
- /* @internal*/
8
- set liveQuerySubscriber(val) { this.remultFactory().liveQuerySubscriber = val; }
9
- ;
10
- /* @internal*/
11
- get liveQueryStorage() { return this.remultFactory().liveQueryStorage; }
12
- ;
13
- /* @internal*/
14
- set liveQueryStorage(val) { this.remultFactory().liveQueryStorage = val; }
15
- ;
16
- /* @internal*/
17
- get liveQueryPublisher() {
18
- return this.remultFactory().liveQueryPublisher;
19
- }
20
- /* @internal*/
21
- set liveQueryPublisher(val) {
22
- this.remultFactory().liveQueryPublisher = val;
23
- }
24
- call(backendMethod, self, ...args) {
25
- return this.remultFactory().call(backendMethod, self, ...args);
26
- }
27
- get context() {
28
- return this.remultFactory().context;
29
- }
30
- get dataProvider() { return this.remultFactory().dataProvider; }
31
- ;
32
- set dataProvider(provider) { this.remultFactory().dataProvider = provider; }
33
- /*@internal*/
34
- get repCache() { return this.remultFactory().repCache; }
35
- ;
36
- authenticated() {
37
- return this.remultFactory().authenticated();
38
- }
39
- isAllowed(roles) {
40
- return this.remultFactory().isAllowed(roles);
41
- }
42
- isAllowedForInstance(instance, allowed) {
43
- return this.remultFactory().isAllowedForInstance(instance, allowed);
44
- }
45
- clearAllCache() {
46
- return this.remultFactory().clearAllCache();
47
- }
48
- /*@internal*/
49
- remultFactory = () => RemultProxy.defaultRemult;
50
- /*@internal*/
51
- resetFactory() {
52
- this.remultFactory = () => RemultProxy.defaultRemult;
53
- }
54
- repoCache = new Map();
55
- //@ts-ignore
56
- repo = (...args) => {
57
- let self = this;
58
- let entityCache = self.repoCache.get(args[0]);
59
- if (!entityCache) {
60
- self.repoCache.set(args[0], entityCache = new Map());
61
- }
62
- let result = entityCache.get(args[1]);
63
- if (result)
64
- return result;
65
- result = {
66
- get fields() {
67
- return self.remultFactory().repo(...args).metadata.fields;
68
- },
69
- validate: (a, b) => self.remultFactory().repo(...args).validate(a, b),
70
- addEventListener: (...args2) => self.remultFactory().repo(...args).addEventListener(...args2),
71
- count: (...args2) => self.remultFactory().repo(...args).count(...args2),
72
- create: (...args2) => self.remultFactory().repo(...args).create(...args2),
73
- delete: (args2) => self.remultFactory().repo(...args).delete(args2),
74
- find: (...args2) => self.remultFactory().repo(...args).find(...args2),
75
- findFirst: (...args2) => self.remultFactory().repo(...args).findFirst(...args2),
76
- findId: (a, b) => self.remultFactory().repo(...args).findId(a, b),
77
- toJson: (json) => self.remultFactory().repo(...args).toJson(json),
78
- fromJson: (item, isNew) => self.remultFactory().repo(...args).fromJson(item, isNew),
79
- getEntityRef: (...args2) => self.remultFactory().repo(...args).getEntityRef(...args2),
80
- insert: (args2) => self.remultFactory().repo(...args).insert(args2),
81
- liveQuery: (...args2) => self.remultFactory().repo(...args).liveQuery(...args2),
82
- //@ts-ignore
83
- addToCache: (a) => self.remultFactory().repo(...args).addToCache(a),
84
- get metadata() {
85
- return self.remultFactory().repo(...args).metadata;
86
- },
87
- query: (...args2) => self.remultFactory().repo(...args).query(...args2),
88
- save: (args2) => self.remultFactory().repo(...args).save(args2),
89
- update: (a, b) => self.remultFactory().repo(...args).update(a, b),
90
- };
91
- entityCache.set(args[1], result);
92
- return result;
93
- };
94
- get user() {
95
- return this.remultFactory().user;
96
- }
97
- set user(info) {
98
- this.remultFactory().user = info;
99
- }
100
- get apiClient() {
101
- return this.remultFactory().apiClient;
102
- }
103
- set apiClient(client) {
104
- this.remultFactory().apiClient = client;
105
- }
106
- get subscriptionServer() {
107
- return this.remultFactory().subscriptionServer;
108
- }
109
- set subscriptionServer(value) {
110
- this.remultFactory().subscriptionServer = value;
111
- }
112
- }
113
- export const remult = new RemultProxy();
@@ -1,10 +0,0 @@
1
- import { OmitEB } from "./remult3";
2
- type Decorator<T = any> = (a: T, b: string, c?: any) => void;
3
- type Decorators<T> = T extends new (...args: any[]) => infer R ? {
4
- [K in keyof OmitEB<R>]?: Decorator;
5
- } : never;
6
- type StaticDecorators<T> = {
7
- [K in keyof T]?: Decorator;
8
- };
9
- export declare function describeClass<classType>(classType: classType, classDecorator: ((x: any, context?: any) => any) | undefined, members?: Decorators<classType> | undefined, staticMembers?: StaticDecorators<classType>): void;
10
- export {};
@@ -1,20 +0,0 @@
1
- export function describeClass(classType, classDecorator, members, staticMembers) {
2
- if (classDecorator)
3
- classDecorator(classType);
4
- for (const fieldKey in members) {
5
- if (Object.prototype.hasOwnProperty.call(members, fieldKey)) {
6
- const element = members[fieldKey];
7
- const prop = Object.getOwnPropertyDescriptor(classType.prototype, fieldKey);
8
- element(classType.prototype, fieldKey, prop);
9
- if (prop)
10
- Object.defineProperty(classType.prototype, fieldKey, prop);
11
- }
12
- }
13
- for (const staticFieldKey in staticMembers) {
14
- const staticElement = staticMembers[staticFieldKey];
15
- const prop = Object.getOwnPropertyDescriptor(classType, staticFieldKey);
16
- staticElement(classType, staticFieldKey, prop);
17
- if (prop)
18
- Object.defineProperty(classType, staticFieldKey, prop);
19
- }
20
- }
@@ -1,355 +0,0 @@
1
- import { FieldMetadata, FieldOptions, ValueConverter, ValueListItem } from "../column-interfaces";
2
- import { EntityOptions } from "../entity";
3
- import { LookupColumn } from '../column';
4
- import { EntityMetadata, FieldRef, FieldsRef, EntityFilter, FindOptions, Repository, EntityRef, QueryOptions, QueryResult, EntityOrderBy, FieldsMetadata, IdMetadata, FindFirstOptionsBase, FindFirstOptions, OmitEB, Subscribable, ControllerRef, LiveQuery } from "./remult3";
5
- import { ClassType } from "../../classType";
6
- import { Remult } from "../context";
7
- import { Filter } from "../filter/filter-interfaces";
8
- import { entityEventListener } from "../__EntityValueProvider";
9
- import { DataProvider, EntityDataProvider, EntityDataProviderFindOptions, ErrorInfo } from "../data-interfaces";
10
- import { RefSubscriber } from ".";
11
- import { Unsubscribe } from "../live-query/SubscriptionChannel";
12
- export declare class RepositoryImplementation<entityType> implements Repository<entityType> {
13
- private entity;
14
- remult: Remult;
15
- private dataProvider;
16
- createAfterFilter(orderBy: EntityOrderBy<entityType>, lastRow: entityType): Promise<EntityFilter<entityType>>;
17
- private _info;
18
- private __edp;
19
- private get edp();
20
- constructor(entity: ClassType<entityType>, remult: Remult, dataProvider: DataProvider);
21
- idCache: Map<any, any>;
22
- getCachedById(id: any): entityType;
23
- getCachedByIdAsync(id: any): Promise<entityType>;
24
- addToCache(item: entityType): void;
25
- get metadata(): EntityMetadata<entityType>;
26
- listeners: entityEventListener<entityType>[];
27
- addEventListener(listener: entityEventListener<entityType>): () => void;
28
- query(options?: QueryOptions<entityType>): QueryResult<entityType>;
29
- getEntityRef(entity: entityType): EntityRef<entityType>;
30
- delete(id: (entityType extends {
31
- id?: number;
32
- } ? number : entityType extends {
33
- id?: string;
34
- } ? string : (string | number))): Promise<void>;
35
- delete(item: entityType): Promise<void>;
36
- insert(item: Partial<OmitEB<entityType>>[]): Promise<entityType[]>;
37
- insert(item: Partial<OmitEB<entityType>>): Promise<entityType>;
38
- get fields(): FieldsMetadata<entityType>;
39
- validate(entity: Partial<OmitEB<entityType>>, ...fields: (Extract<keyof OmitEB<entityType>, string>)[]): Promise<ErrorInfo<entityType> | undefined>;
40
- update(id: (entityType extends {
41
- id?: number;
42
- } ? number : entityType extends {
43
- id?: string;
44
- } ? string : (string | number)), item: Partial<OmitEB<entityType>>): Promise<entityType>;
45
- update(originalItem: Partial<OmitEB<entityType>>, item: Partial<OmitEB<entityType>>): Promise<entityType>;
46
- private getRefForExistingRow;
47
- save(item: Partial<OmitEB<entityType>>[]): Promise<entityType[]>;
48
- save(item: Partial<OmitEB<entityType>>): Promise<entityType>;
49
- liveQuery(options?: FindOptions<entityType>): LiveQuery<entityType>;
50
- find(options: FindOptions<entityType>, skipOrderByAndLimit?: boolean): Promise<entityType[]>;
51
- buildEntityDataProviderFindOptions(options: FindOptions<entityType>): Promise<EntityDataProviderFindOptions>;
52
- fromJsonArray(jsonItems: any[], load?: (entity: FieldsMetadata<entityType>) => FieldMetadata[]): Promise<(Awaited<entityType> | undefined)[]>;
53
- private loadManyToOneForManyRows;
54
- private mapRawDataToResult;
55
- toJson(item: entityType | entityType[]): any;
56
- fromJson(json: any, newRow?: boolean): any;
57
- count(where?: EntityFilter<entityType>): Promise<number>;
58
- private cache;
59
- findFirst(where?: EntityFilter<entityType>, options?: FindFirstOptions<entityType>, skipOrderByAndLimit?: boolean): Promise<entityType>;
60
- private fieldsOf;
61
- create(item?: Partial<OmitEB<entityType>>): entityType;
62
- fixTypes(item: any): Promise<any>;
63
- findId(id: any, options?: FindFirstOptionsBase<entityType>): Promise<entityType>;
64
- translateWhereToFilter(where: EntityFilter<entityType>): Promise<Filter>;
65
- }
66
- export declare function __updateEntityBasedOnWhere<T>(entityDefs: EntityMetadata<T>, where: EntityFilter<T>, r: T): void;
67
- export type EntityOptionsFactory = (remult: Remult) => EntityOptions;
68
- export declare const entityInfo: unique symbol;
69
- export declare const entityInfo_key: unique symbol;
70
- export declare function getEntitySettings<T>(entity: ClassType<T>, throwError?: boolean): EntityOptionsFactory;
71
- export declare function getEntityKey(entity: ClassType<any>): string;
72
- export declare const columnsOfType: Map<any, columnInfo[]>;
73
- export declare function createOldEntity<T>(entity: ClassType<T>, remult: Remult): EntityFullInfo<T>;
74
- declare abstract class rowHelperBase<T> {
75
- protected columnsInfo: FieldOptions[];
76
- protected instance: T;
77
- protected remult: Remult;
78
- _error: string;
79
- get error(): string;
80
- set error(val: string);
81
- constructor(columnsInfo: FieldOptions[], instance: T, remult: Remult);
82
- _subscribers: SubscribableImp;
83
- subscribe(listener: RefSubscriber): Unsubscribe;
84
- _isLoading: boolean;
85
- initSubscribers(): void;
86
- get isLoading(): boolean;
87
- set isLoading(val: boolean);
88
- lookups: Map<string, LookupColumn<any>>;
89
- waitLoad(): Promise<void>;
90
- errors: {
91
- [key: string]: string;
92
- };
93
- protected __assertValidity(): void;
94
- buildErrorInfoObject(): ErrorInfo<any>;
95
- abstract get fields(): FieldsRef<T>;
96
- catchSaveErrors(err: any): any;
97
- __clearErrorsAndReportChanged(): void;
98
- _reportChangedToEntityAndFields(): void;
99
- hasErrors(): boolean;
100
- copyDataToObject(): any;
101
- originalValues: any;
102
- saveOriginalData(): void;
103
- saveMoreOriginalData(): void;
104
- validate(): Promise<ErrorInfo<any> | undefined>;
105
- __validateEntity(): Promise<void>;
106
- __performColumnAndEntityValidations(): Promise<void>;
107
- toApiJson(includeRelatedEntities?: boolean): any;
108
- _updateEntityBasedOnApi(body: any): Promise<void>;
109
- }
110
- export declare class rowHelperImplementation<T> extends rowHelperBase<T> implements EntityRef<T> {
111
- private info;
112
- repository: RepositoryImplementation<T>;
113
- private edp;
114
- private _isNew;
115
- constructor(info: EntityFullInfo<T>, instance: T, repository: RepositoryImplementation<T>, edp: EntityDataProvider, remult: Remult, _isNew: boolean);
116
- get apiUpdateAllowed(): boolean;
117
- get apiDeleteAllowed(): boolean;
118
- get apiInsertAllowed(): boolean;
119
- metadata: EntityMetadata<T>;
120
- getId(): any;
121
- saveMoreOriginalData(): void;
122
- private _wasDeleted;
123
- wasDeleted(): boolean;
124
- undoChanges(): void;
125
- reload(): Promise<T>;
126
- private _columns;
127
- get fields(): FieldsRef<T>;
128
- private _saving;
129
- save(): Promise<T>;
130
- private getIdFilter;
131
- delete(): Promise<void>;
132
- loadDataFrom(data: any, loadItems?: FieldMetadata[]): Promise<void>;
133
- id: any;
134
- originalId: any;
135
- getOriginalId(): any;
136
- private calcServerExpression;
137
- isNew(): boolean;
138
- wasChanged(): boolean;
139
- __performColumnAndEntityValidations(): Promise<void>;
140
- }
141
- export declare function getFields<fieldsContainerType>(container: fieldsContainerType, remult?: Remult): FieldsRef<fieldsContainerType>;
142
- export declare function getControllerRef<fieldsContainerType>(container: fieldsContainerType, remultArg?: Remult): ControllerRef<fieldsContainerType>;
143
- export declare class controllerRefImpl<T = any> extends rowHelperBase<T> implements ControllerRef<T> {
144
- constructor(columnsInfo: FieldOptions[], instance: any, remult: Remult);
145
- __performColumnAndEntityValidations(): Promise<void>;
146
- fields: FieldsRef<T>;
147
- }
148
- export declare class FieldRefImplementation<entityType, valueType> implements FieldRef<entityType, valueType> {
149
- private settings;
150
- metadata: FieldMetadata;
151
- container: any;
152
- private helper;
153
- private rowBase;
154
- constructor(settings: FieldOptions, metadata: FieldMetadata, container: any, helper: EntityRef<entityType>, rowBase: rowHelperBase<entityType>);
155
- _subscribers: SubscribableImp;
156
- subscribe(listener: RefSubscriber): Unsubscribe;
157
- valueIsNull(): boolean;
158
- originalValueIsNull(): boolean;
159
- load(): Promise<valueType>;
160
- target: ClassType<any>;
161
- reportObserved(): void;
162
- reportChanged(): void;
163
- get error(): string;
164
- set error(error: string);
165
- get displayValue(): string;
166
- get value(): any;
167
- set value(value: any);
168
- get originalValue(): any;
169
- private rawOriginalValue;
170
- setId(id: (string | number)): void;
171
- getId(): any;
172
- get inputValue(): string;
173
- set inputValue(val: string);
174
- valueChanged(): boolean;
175
- entityRef: EntityRef<any>;
176
- __performValidation(): Promise<void>;
177
- validate(): Promise<boolean>;
178
- }
179
- export declare function getEntityRef<entityType>(entity: entityType, throwException?: boolean): EntityRef<entityType>;
180
- export declare const CaptionTransformer: {
181
- transformCaption: (remult: Remult, key: string, caption: string) => string;
182
- };
183
- export declare function buildCaption(caption: string | ((remult: Remult) => string), key: string, remult: Remult): string;
184
- export declare class columnDefsImpl implements FieldMetadata {
185
- private settings;
186
- private entityDefs;
187
- private remult;
188
- constructor(settings: FieldOptions, entityDefs: EntityFullInfo<any>, remult: Remult);
189
- apiUpdateAllowed(item?: any): boolean;
190
- displayValue(item: any): string;
191
- get includedInApi(): boolean;
192
- toInput(value: any, inputType?: string): string;
193
- fromInput(inputValue: string, inputType?: string): any;
194
- getDbName(): Promise<string | undefined>;
195
- options: FieldOptions<any, any>;
196
- target: ClassType<any>;
197
- readonly: boolean;
198
- valueConverter: Required<ValueConverter<any>>;
199
- allowNull: boolean;
200
- caption: string;
201
- get dbName(): string | Promise<string> | undefined;
202
- inputType: string;
203
- key: string;
204
- get dbReadOnly(): boolean | undefined;
205
- isServerExpression: boolean;
206
- valueType: any;
207
- }
208
- declare class EntityFullInfo<T> implements EntityMetadata<T> {
209
- columnsInfo: FieldOptions[];
210
- entityInfo: EntityOptions;
211
- private remult;
212
- readonly entityType: ClassType<T>;
213
- readonly key: string;
214
- options: EntityOptions<T>;
215
- constructor(columnsInfo: FieldOptions[], entityInfo: EntityOptions, remult: Remult, entityType: ClassType<T>, key: string);
216
- apiUpdateAllowed(item: T): boolean;
217
- get apiReadAllowed(): boolean;
218
- apiDeleteAllowed(item: T): boolean;
219
- apiInsertAllowed(item: T): boolean;
220
- getEntityMetadataWithoutBreakingTheEntity(item: T): EntityRef<T>;
221
- dbNamePromise: Promise<string>;
222
- getDbName(): Promise<string>;
223
- idMetadata: IdMetadata<T>;
224
- fields: FieldsMetadata<T>;
225
- dbName: string;
226
- caption: string;
227
- }
228
- export declare function FieldType<valueType = any>(...options: (FieldOptions<any, valueType> | ((options: FieldOptions<any, valueType>, remult: Remult) => void))[]): (target: any, context?: any) => any;
229
- export declare class Fields {
230
- /**
231
- * Stored as a JSON.stringify - to store as json use Fields.json
232
- */
233
- static object<entityType = any, valueType = any>(...options: (FieldOptions<entityType, valueType> | ((options: FieldOptions<entityType, valueType>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, valueType | undefined>, c?: any) => void;
234
- static json<entityType = any, valueType = any>(...options: (FieldOptions<entityType, valueType> | ((options: FieldOptions<entityType, valueType>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, valueType | undefined>, c?: any) => void;
235
- static dateOnly<entityType = any>(...options: (FieldOptions<entityType, Date> | ((options: FieldOptions<entityType, Date>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, Date | undefined>, c?: any) => void;
236
- static date<entityType = any>(...options: (FieldOptions<entityType, Date> | ((options: FieldOptions<entityType, Date>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, Date | undefined>, c?: any) => void;
237
- static integer<entityType = any>(...options: (FieldOptions<entityType, Number> | ((options: FieldOptions<entityType, Number>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, Number | undefined>, c?: any) => void;
238
- static autoIncrement<entityType = any>(...options: (FieldOptions<entityType, Number> | ((options: FieldOptions<entityType, Number>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, Number | undefined>, c?: any) => void;
239
- static number<entityType = any>(...options: (FieldOptions<entityType, Number> | ((options: FieldOptions<entityType, Number>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, Number | undefined>, c?: any) => void;
240
- static createdAt<entityType = any>(...options: (FieldOptions<entityType, Date> | ((options: FieldOptions<entityType, Date>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, Date | undefined>, c?: any) => void;
241
- static updatedAt<entityType = any>(...options: (FieldOptions<entityType, Date> | ((options: FieldOptions<entityType, Date>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, Date | undefined>, c?: any) => void;
242
- static uuid<entityType = any>(...options: (FieldOptions<entityType, string> | ((options: FieldOptions<entityType, string>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, string | undefined>, c?: any) => void;
243
- static cuid<entityType = any>(...options: (FieldOptions<entityType, string> | ((options: FieldOptions<entityType, string>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, string | undefined>, c?: any) => void;
244
- static string<entityType = any>(...options: (StringFieldOptions<entityType> | ((options: StringFieldOptions<entityType>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, string | undefined>, c?: any) => void;
245
- static boolean<entityType = any>(...options: (FieldOptions<entityType, boolean> | ((options: FieldOptions<entityType, boolean>, remult: Remult) => void))[]): (target: any, context: string | ClassFieldDecoratorContext<entityType, boolean | undefined>, c?: any) => void;
246
- }
247
- export declare function isAutoIncrement(f: FieldMetadata): boolean;
248
- export interface StringFieldOptions<entityType = any> extends FieldOptions<entityType, string> {
249
- maxLength?: number;
250
- }
251
- export declare function ValueListFieldType<valueType extends ValueListItem = any>(...options: (ValueListFieldOptions<any, valueType> | ((options: FieldOptions<any, valueType>, remult: Remult) => void))[]): (type: ClassType<valueType>, context?: any) => void;
252
- export interface ValueListFieldOptions<entityType, valueType> extends FieldOptions<entityType, valueType> {
253
- getValues?: () => valueType[];
254
- }
255
- export declare class ValueListInfo<T extends ValueListItem> implements ValueConverter<T> {
256
- private valueListType;
257
- static get<T extends ValueListItem>(type: ClassType<T>): ValueListInfo<T>;
258
- private byIdMap;
259
- private values;
260
- isNumeric: boolean;
261
- private constructor();
262
- getValues(): T[];
263
- byId(key: any): T | undefined;
264
- fromJson(val: any): T;
265
- toJson(val: T): any;
266
- fromDb(val: any): T;
267
- toDb(val: T): any;
268
- toInput(val: T, inputType: string): string;
269
- fromInput(val: string, inputType: string): T;
270
- displayValue?(val: T): string;
271
- fieldTypeInDb?: string;
272
- inputType?: string;
273
- }
274
- export declare function getValueList<T>(field: FieldRef<T>): T[];
275
- export declare function getValueList<T>(field: FieldMetadata<T>): T[];
276
- export declare function getValueList<T>(type: ClassType<T>): T[];
277
- /**Decorates fields that should be used as fields.
278
- * for more info see: [Field Types](https://remult.dev/docs/field-types.html)
279
- *
280
- * FieldOptions can be set in two ways:
281
- * @example
282
- * // as an object
283
- * @Fields.string({ includeInApi:false })
284
- * title='';
285
- * @example
286
- * // as an arrow function that receives `remult` as a parameter
287
- * @Fields.string((options,remult) => options.includeInApi = true)
288
- * title='';
289
- */
290
- export declare function Field<entityType = any, valueType = any>(valueType: () => ClassType<valueType>, ...options: (FieldOptions<entityType, valueType> | ((options: FieldOptions<entityType, valueType>, remult: Remult) => void))[]): (target: any, context: ClassFieldDecoratorContext<entityType, valueType | undefined> | string, c?: any) => void;
291
- export declare const storableMember: unique symbol;
292
- export declare function decorateColumnSettings<valueType>(settings: FieldOptions<any, valueType>, remult: Remult): FieldOptions<any, valueType>;
293
- interface columnInfo {
294
- key: string;
295
- settings: (remult: Remult) => FieldOptions;
296
- }
297
- /**Decorates classes that should be used as entities.
298
- * Receives a key and an array of EntityOptions.
299
- * @example
300
- * import { Entity, Fields } from "remult";
301
- * @Entity("tasks", {
302
- * allowApiCrud: true
303
- * })
304
- * export class Task {
305
- * @Fields.uuid()
306
- * id!: string;
307
- * @Fields.string()
308
- * title = '';
309
- * @Fields.boolean()
310
- * completed = false;
311
- * }
312
- * @note
313
- * EntityOptions can be set in two ways:
314
- * @example
315
- * // as an object
316
- * @Entity("tasks",{ allowApiCrud:true })
317
- * @example
318
- * // as an arrow function that receives `remult` as a parameter
319
- * @Entity("tasks", (options,remult) => options.allowApiCrud = true)
320
- */
321
- export declare function Entity<entityType>(key: string, ...options: (EntityOptions<entityType extends new (...args: any) => any ? InstanceType<entityType> : entityType> | ((options: EntityOptions<entityType extends new (...args: any) => any ? InstanceType<entityType> : entityType>, remult: Remult) => void))[]): (target: any, info?: ClassDecoratorContext<entityType extends new (...args: any) => any ? entityType : never> | undefined) => any;
322
- export declare class EntityBase {
323
- get _(): EntityRef<this>;
324
- save(): Promise<this>;
325
- assign(values: Partial<Omit<this, keyof EntityBase>>): this;
326
- delete(): Promise<void>;
327
- isNew(): boolean;
328
- get $(): FieldsRef<this>;
329
- }
330
- export declare class IdEntity extends EntityBase {
331
- id: string;
332
- }
333
- export declare class ControllerBase {
334
- protected remult: Remult;
335
- constructor(remult?: Remult);
336
- assign(values: Partial<Omit<this, keyof EntityBase>>): this;
337
- get $(): FieldsRef<this>;
338
- get _(): ControllerRef<this>;
339
- }
340
- declare class SubscribableImp implements Subscribable {
341
- reportChanged(): void;
342
- reportObserved(): void;
343
- private _subscribers;
344
- subscribe(listener: (() => void) | {
345
- reportChanged: () => void;
346
- reportObserved: () => void;
347
- }): Unsubscribe;
348
- }
349
- export declare function getEntityMetadata<entityType>(entity: EntityMetadataOverloads<entityType>): EntityMetadata<entityType>;
350
- export declare function getRepository<entityType>(entity: RepositoryOverloads<entityType>): Repository<entityType>;
351
- export type EntityMetadataOverloads<entityType> = Repository<entityType> | EntityMetadata<entityType> | ClassType<entityType>;
352
- export type RepositoryOverloads<entityType> = Repository<entityType> | ClassType<entityType>;
353
- export declare function Field1<valueType>(valueType: () => ClassType<valueType>): (target: any, context: ClassFieldDecoratorContext<any, valueType | undefined> | string) => void;
354
- export declare function createdAt(): (target: any, context: string | ClassFieldDecoratorContext<any, Date | undefined>) => void;
355
- export {};