remult 0.21.1 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +47 -46
- package/SseSubscriptionServer.js +9 -9
- package/ably.js +1 -1
- package/esm/SseSubscriptionServer.js +11 -11
- package/esm/ably.js +2 -2
- package/esm/angular/interfaces/index.d.ts +1 -0
- package/esm/angular/interfaces/index.js +1 -0
- package/esm/angular/interfaces/src/column-collection.d.ts +70 -0
- package/esm/angular/interfaces/src/column-collection.js +341 -0
- package/esm/angular/interfaces/src/data-area-settings.d.ts +15 -0
- package/esm/angular/interfaces/src/data-area-settings.js +35 -0
- package/esm/angular/interfaces/src/data-control-interfaces.d.ts +36 -0
- package/esm/angular/interfaces/src/data-control-interfaces.js +57 -0
- package/esm/angular/interfaces/src/dataList.d.ts +13 -0
- package/esm/angular/interfaces/src/dataList.js +42 -0
- package/esm/angular/interfaces/src/filter-helper.d.ts +13 -0
- package/esm/angular/interfaces/src/filter-helper.js +59 -0
- package/esm/angular/interfaces/src/grid-settings.d.ts +145 -0
- package/esm/angular/interfaces/src/grid-settings.js +387 -0
- package/esm/angular/interfaces/src/public_api.d.ts +4 -0
- package/esm/angular/interfaces/src/public_api.js +4 -0
- package/esm/angular/src/angular/RemultAngularPluginsService.d.ts +4 -0
- package/esm/angular/src/angular/RemultAngularPluginsService.js +3 -0
- package/esm/angular/src/angular/data-control/data-control2.component.d.ts +49 -0
- package/esm/angular/src/angular/data-control/data-control2.component.js +138 -0
- package/esm/core/SseSubscriptionServer.d.ts +33 -0
- package/esm/core/SseSubscriptionServer.js +107 -0
- package/esm/core/assign.d.ts +1 -0
- package/esm/core/assign.js +5 -0
- package/esm/core/classType.d.ts +3 -0
- package/esm/core/classType.js +1 -0
- package/esm/core/index.d.ts +27 -0
- package/esm/core/index.js +25 -0
- package/esm/core/inputTypes.d.ts +9 -0
- package/esm/core/inputTypes.js +9 -0
- package/esm/core/live-query/data-provider-live-query-storage.d.ts +22 -0
- package/esm/core/live-query/data-provider-live-query-storage.js +71 -0
- package/esm/core/postgres/index.d.ts +2 -0
- package/esm/core/postgres/index.js +2 -0
- package/esm/core/postgres/postgres-data-provider.d.ts +36 -0
- package/esm/core/postgres/postgres-data-provider.js +120 -0
- package/esm/core/postgres/schema-builder.d.ts +17 -0
- package/esm/core/postgres/schema-builder.js +153 -0
- package/esm/core/remult-fresh.d.ts +17 -0
- package/esm/core/remult-fresh.js +29 -0
- package/esm/core/remult-knex/index.d.ts +30 -0
- package/esm/core/remult-knex/index.js +446 -0
- package/esm/core/remult-mongo.d.ts +24 -0
- package/esm/core/remult-mongo.js +254 -0
- package/esm/core/server/JsonEntityFileStorage.d.ts +10 -0
- package/esm/core/server/JsonEntityFileStorage.js +25 -0
- package/esm/core/server/core.d.ts +4 -0
- package/esm/core/server/core.js +4 -0
- package/esm/core/server/expressBridge.d.ts +182 -0
- package/esm/core/server/expressBridge.js +938 -0
- package/esm/core/server/index.d.ts +6 -0
- package/esm/core/server/index.js +9 -0
- package/esm/core/server/initAsyncHooks.d.ts +1 -0
- package/esm/core/server/initAsyncHooks.js +9 -0
- package/esm/core/server/initDataProvider.d.ts +2 -0
- package/esm/core/server/initDataProvider.js +14 -0
- package/esm/core/src/__EntityValueProvider.d.ts +11 -0
- package/esm/core/src/__EntityValueProvider.js +1 -0
- package/esm/core/src/__RowsOfDataForTesting.d.ts +3 -0
- package/esm/core/src/__RowsOfDataForTesting.js +1 -0
- package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +6 -0
- package/esm/core/src/backend-tests/backend-database-test-setup.backend-spec.js +147 -0
- package/esm/core/src/backend-tests/my-test.backend-spec.d.ts +1 -0
- package/esm/core/src/backend-tests/my-test.backend-spec.js +197 -0
- package/esm/core/src/backend-tests/test-http-server.backend-spec.d.ts +1 -0
- package/esm/core/src/backend-tests/test-http-server.backend-spec.js +167 -0
- package/esm/core/src/buildRestDataProvider.d.ts +31 -0
- package/esm/core/src/buildRestDataProvider.js +113 -0
- package/esm/core/src/column-interfaces.d.ts +154 -0
- package/esm/core/src/column-interfaces.js +7 -0
- package/esm/core/src/column.d.ts +58 -0
- package/esm/core/src/column.js +174 -0
- package/esm/core/src/context.d.ts +134 -0
- package/esm/core/src/context.js +286 -0
- package/esm/core/src/data-api.d.ts +39 -0
- package/esm/core/src/data-api.js +279 -0
- package/esm/core/src/data-interfaces.d.ts +41 -0
- package/esm/core/src/data-interfaces.js +12 -0
- package/esm/core/src/data-providers/array-entity-data-provider.d.ts +22 -0
- package/esm/core/src/data-providers/array-entity-data-provider.js +252 -0
- package/esm/core/src/data-providers/in-memory-database.d.ts +9 -0
- package/esm/core/src/data-providers/in-memory-database.js +14 -0
- package/esm/core/src/data-providers/json-data-provider.d.ts +12 -0
- package/esm/core/src/data-providers/json-data-provider.js +55 -0
- package/esm/core/src/data-providers/rest-data-provider.d.ts +49 -0
- package/esm/core/src/data-providers/rest-data-provider.js +256 -0
- package/esm/core/src/data-providers/sql-database.d.ts +33 -0
- package/esm/core/src/data-providers/sql-database.js +384 -0
- package/esm/core/src/data-providers/web-sql-data-provider.d.ts +24 -0
- package/esm/core/src/data-providers/web-sql-data-provider.js +143 -0
- package/esm/core/src/entity.d.ts +91 -0
- package/esm/core/src/entity.js +1 -0
- package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.d.ts +50 -0
- package/esm/core/src/filter/filter-consumer-bridge-to-sql-request.js +150 -0
- package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.d.ts +1 -0
- package/esm/core/src/filter/filter-consumer-bridge-to-url-builder.js +1 -0
- package/esm/core/src/filter/filter-interfaces.d.ts +85 -0
- package/esm/core/src/filter/filter-interfaces.js +477 -0
- package/esm/core/src/live-query/LiveQueryClient.d.ts +20 -0
- package/esm/core/src/live-query/LiveQueryClient.js +188 -0
- package/esm/core/src/live-query/SseSubscriptionClient.d.ts +5 -0
- package/esm/core/src/live-query/SseSubscriptionClient.js +86 -0
- package/esm/core/src/live-query/SubscriptionChannel.d.ts +72 -0
- package/esm/core/src/live-query/SubscriptionChannel.js +123 -0
- package/esm/core/src/live-query/SubscriptionServer.d.ts +53 -0
- package/esm/core/src/live-query/SubscriptionServer.js +111 -0
- package/esm/core/src/live-query/live-query-tests.spec.d.ts +6 -0
- package/esm/core/src/live-query/live-query-tests.spec.js +952 -0
- package/esm/core/src/remult-proxy.d.ts +35 -0
- package/esm/core/src/remult-proxy.js +113 -0
- package/esm/core/src/remult3/DecoratorReplacer.d.ts +10 -0
- package/esm/core/src/remult3/DecoratorReplacer.js +20 -0
- package/esm/core/src/remult3/RepositoryImplementation.d.ts +355 -0
- package/esm/core/src/remult3/RepositoryImplementation.js +2109 -0
- package/esm/core/src/remult3/index.d.ts +2 -0
- package/esm/core/src/remult3/index.js +2 -0
- package/esm/core/src/remult3/remult3.d.ts +395 -0
- package/esm/core/src/remult3/remult3.js +2 -0
- package/esm/core/src/server-action.d.ts +81 -0
- package/esm/core/src/server-action.js +394 -0
- package/esm/core/src/shared-tests/db-tests-setup.d.ts +32 -0
- package/esm/core/src/shared-tests/db-tests-setup.js +78 -0
- package/esm/core/src/shared-tests/db-tests.db-tests.d.ts +25 -0
- package/esm/core/src/shared-tests/db-tests.db-tests.js +810 -0
- package/esm/core/src/shared-tests/deleteAll.d.ts +2 -0
- package/esm/core/src/shared-tests/deleteAll.js +4 -0
- package/esm/core/src/shared-tests/entityWithValidations.d.ts +14 -0
- package/esm/core/src/shared-tests/entityWithValidations.js +43 -0
- package/esm/core/src/shared-tests/index.d.ts +4 -0
- package/esm/core/src/shared-tests/index.js +4 -0
- package/esm/core/src/shared-tests/test-custom-id-column.spec.d.ts +1 -0
- package/esm/core/src/shared-tests/test-custom-id-column.spec.js +67 -0
- package/esm/core/src/shared-tests/test-special-value.spec.d.ts +10 -0
- package/esm/core/src/shared-tests/test-special-value.spec.js +73 -0
- package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +1 -0
- package/esm/core/src/shared-tests/test-update-with-null.spec.js +31 -0
- package/esm/core/src/sort.d.ts +16 -0
- package/esm/core/src/sort.js +103 -0
- package/esm/core/src/sql-command.d.ts +19 -0
- package/esm/core/src/sql-command.js +1 -0
- package/esm/core/src/test.d.ts +3 -0
- package/esm/core/src/test.js +12 -0
- package/esm/core/src/tests/Done.d.ts +5 -0
- package/esm/core/src/tests/Done.js +9 -0
- package/esm/core/src/tests/RowProvider.spec.d.ts +16 -0
- package/esm/core/src/tests/RowProvider.spec.js +631 -0
- package/esm/core/src/tests/TestDataApiResponse.d.ts +10 -0
- package/esm/core/src/tests/TestDataApiResponse.js +22 -0
- package/esm/core/src/tests/basicRowFunctionality.spec.d.ts +8 -0
- package/esm/core/src/tests/basicRowFunctionality.spec.js +2103 -0
- package/esm/core/src/tests/c.d.ts +8 -0
- package/esm/core/src/tests/c.js +13 -0
- package/esm/core/src/tests/createData.d.ts +7 -0
- package/esm/core/src/tests/createData.js +22 -0
- package/esm/core/src/tests/d.d.ts +6 -0
- package/esm/core/src/tests/d.js +11 -0
- package/esm/core/src/tests/dWithPrefilter.d.ts +7 -0
- package/esm/core/src/tests/dWithPrefilter.js +18 -0
- package/esm/core/src/tests/entityForCustomFilter.d.ts +16 -0
- package/esm/core/src/tests/entityForCustomFilter.js +33 -0
- package/esm/core/src/tests/entityWithValidationsOnColumn.d.ts +5 -0
- package/esm/core/src/tests/entityWithValidationsOnColumn.js +13 -0
- package/esm/core/src/tests/frontend-database-tests-setup.spec.d.ts +4 -0
- package/esm/core/src/tests/frontend-database-tests-setup.spec.js +37 -0
- package/esm/core/src/tests/h.d.ts +6 -0
- package/esm/core/src/tests/h.js +24 -0
- package/esm/core/src/tests/remult-3-basic-tests.spec.d.ts +1 -0
- package/esm/core/src/tests/remult-3-basic-tests.spec.js +236 -0
- package/esm/core/src/tests/remult-3-entities.d.ts +23 -0
- package/esm/core/src/tests/remult-3-entities.js +39 -0
- package/esm/core/src/tests/tasks.d.ts +6 -0
- package/esm/core/src/tests/tasks.js +10 -0
- package/esm/core/src/tests/test-context-as-storage.spec.d.ts +0 -0
- package/esm/core/src/tests/test-context-as-storage.spec.js +1 -0
- package/esm/core/src/tests/test-data-api/predefined-filter.spec.d.ts +1 -0
- package/esm/core/src/tests/test-data-api/predefined-filter.spec.js +389 -0
- package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.d.ts +5 -0
- package/esm/core/src/tests/test-data-api/test-put-with-validation.spec.js +152 -0
- package/esm/core/src/tests/test-decorator-precedence.spec.d.ts +1 -0
- package/esm/core/src/tests/test-decorator-precedence.spec.js +38 -0
- package/esm/core/src/tests/test-default-value.spec.d.ts +1 -0
- package/esm/core/src/tests/test-default-value.spec.js +33 -0
- package/esm/core/src/tests/test-entity-inheritance.spec.d.ts +14 -0
- package/esm/core/src/tests/test-entity-inheritance.spec.js +82 -0
- package/esm/core/src/tests/test-exceptions.spec.d.ts +1 -0
- package/esm/core/src/tests/test-exceptions.spec.js +375 -0
- package/esm/core/src/tests/test-json.spec.d.ts +1 -0
- package/esm/core/src/tests/test-json.spec.js +115 -0
- package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.d.ts +9 -0
- package/esm/core/src/tests/test-many-to-one-relation-in-entity.spec.js +809 -0
- package/esm/core/src/tests/test-non-active-record.spec.d.ts +1 -0
- package/esm/core/src/tests/test-non-active-record.spec.js +66 -0
- package/esm/core/src/tests/test-object-column.spec.d.ts +1 -0
- package/esm/core/src/tests/test-object-column.spec.js +189 -0
- package/esm/core/src/tests/test-paged-foreach.spec.d.ts +1 -0
- package/esm/core/src/tests/test-paged-foreach.spec.js +328 -0
- package/esm/core/src/tests/test-remult-angular.spec.d.ts +1 -0
- package/esm/core/src/tests/test-remult-angular.spec.js +23 -0
- package/esm/core/src/tests/test-server-controller.spec.d.ts +7 -0
- package/esm/core/src/tests/test-server-controller.spec.js +489 -0
- package/esm/core/src/tests/test-server-expressions.spec.d.ts +1 -0
- package/esm/core/src/tests/test-server-expressions.spec.js +178 -0
- package/esm/core/src/tests/test-server-method-on-entity.spec.d.ts +1 -0
- package/esm/core/src/tests/test-server-method-on-entity.spec.js +306 -0
- package/esm/core/src/tests/test-sql-expression.spec.d.ts +5 -0
- package/esm/core/src/tests/test-sql-expression.spec.js +205 -0
- package/esm/core/src/tests/test-sql.spec.d.ts +1 -0
- package/esm/core/src/tests/test-sql.spec.js +170 -0
- package/esm/core/src/tests/test-subscribe.spec.d.ts +1 -0
- package/esm/core/src/tests/test-subscribe.spec.js +135 -0
- package/esm/core/src/tests/test-type-recovery.spec.d.ts +1 -0
- package/esm/core/src/tests/test-type-recovery.spec.js +49 -0
- package/esm/core/src/tests/test-where-api.spec.d.ts +1 -0
- package/esm/core/src/tests/test-where-api.spec.js +434 -0
- package/esm/core/src/tests/testHelper.spec.d.ts +36 -0
- package/esm/core/src/tests/testHelper.spec.js +226 -0
- package/esm/core/src/tests/testModel/models.d.ts +16 -0
- package/esm/core/src/tests/testModel/models.js +25 -0
- package/esm/core/src/validators.d.ts +14 -0
- package/esm/core/src/validators.js +33 -0
- package/esm/core/src/valueConverters.d.ts +13 -0
- package/esm/core/src/valueConverters.js +197 -0
- package/esm/core/urlBuilder.d.ts +6 -0
- package/esm/core/urlBuilder.js +20 -0
- package/esm/graphql.js +194 -73
- package/esm/index.d.ts +10 -10
- package/esm/index.js +8 -8
- package/esm/inputTypes.js +1 -1
- package/esm/live-query/data-provider-live-query-storage.d.ts +3 -3
- package/esm/live-query/data-provider-live-query-storage.js +12 -9
- package/esm/myLog.js +2 -2
- package/esm/postgres/postgres-data-provider.d.ts +2 -2
- package/esm/postgres/postgres-data-provider.js +20 -14
- package/esm/postgres/schema-builder.d.ts +1 -1
- package/esm/postgres/schema-builder.js +28 -21
- package/esm/remult-express.js +2 -2
- package/esm/remult-fastify.js +9 -7
- package/esm/remult-fresh.d.ts +1 -1
- package/esm/remult-fresh.js +5 -8
- package/esm/remult-knex/index.d.ts +4 -4
- package/esm/remult-knex/index.js +75 -59
- package/esm/remult-mongo.js +36 -27
- package/esm/remult-next.d.ts +3 -3
- package/esm/remult-next.js +17 -11
- package/esm/remult-sveltekit.js +10 -10
- package/esm/server/JsonEntityFileStorage.js +3 -1
- package/esm/server/core.d.ts +2 -2
- package/esm/server/core.js +2 -2
- package/esm/server/expressBridge.d.ts +3 -12
- package/esm/server/expressBridge.js +265 -278
- package/esm/server/index.d.ts +2 -2
- package/esm/server/index.js +5 -2
- package/esm/server/initAsyncHooks.js +1 -1
- package/esm/server/initDataProvider.js +1 -1
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +1 -1
- package/esm/src/backend-tests/backend-database-test-setup.backend-spec.js +47 -38
- package/esm/src/buildRestDataProvider.d.ts +1 -1
- package/esm/src/buildRestDataProvider.js +21 -13
- package/esm/src/column-interfaces.d.ts +9 -9
- package/esm/src/column.d.ts +4 -0
- package/esm/src/column.js +23 -11
- package/esm/src/context.d.ts +20 -8
- package/esm/src/context.js +65 -24
- package/esm/src/data-api.d.ts +0 -1
- package/esm/src/data-api.js +38 -37
- package/esm/src/data-interfaces.d.ts +1 -1
- package/esm/src/data-interfaces.js +1 -1
- package/esm/src/data-providers/array-entity-data-provider.js +9 -9
- package/esm/src/data-providers/in-memory-database.d.ts +1 -1
- package/esm/src/data-providers/in-memory-database.js +3 -1
- package/esm/src/data-providers/json-data-provider.js +8 -8
- package/esm/src/data-providers/rest-data-provider.d.ts +1 -1
- package/esm/src/data-providers/rest-data-provider.js +52 -36
- package/esm/src/data-providers/sql-database.d.ts +5 -5
- package/esm/src/data-providers/sql-database.js +53 -36
- package/esm/src/data-providers/web-sql-data-provider.d.ts +4 -4
- package/esm/src/data-providers/web-sql-data-provider.js +15 -13
- package/esm/src/entity.d.ts +24 -24
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.d.ts +4 -4
- package/esm/src/filter/filter-consumer-bridge-to-sql-request.js +35 -20
- package/esm/src/filter/filter-interfaces.d.ts +7 -7
- package/esm/src/filter/filter-interfaces.js +108 -88
- package/esm/src/live-query/LiveQueryClient.js +37 -29
- package/esm/src/live-query/SseSubscriptionClient.d.ts +1 -1
- package/esm/src/live-query/SseSubscriptionClient.js +14 -14
- package/esm/src/live-query/SubscriptionChannel.d.ts +3 -3
- package/esm/src/live-query/SubscriptionChannel.js +27 -25
- package/esm/src/live-query/SubscriptionServer.js +24 -20
- package/esm/src/remult-proxy.d.ts +1 -1
- package/esm/src/remult-proxy.js +87 -29
- package/esm/src/remult3/DecoratorReplacer.d.ts +2 -2
- package/esm/src/remult3/RepositoryImplementation.d.ts +51 -41
- package/esm/src/remult3/RepositoryImplementation.js +336 -206
- package/esm/src/remult3/remult3.d.ts +56 -51
- package/esm/src/remult3/remult3.js +0 -1
- package/esm/src/server-action.d.ts +12 -5
- package/esm/src/server-action.js +79 -53
- package/esm/src/shared-tests/db-tests-setup.d.ts +8 -8
- package/esm/src/shared-tests/db-tests-setup.js +10 -10
- package/esm/src/shared-tests/db-tests.db-tests.d.ts +1 -1
- package/esm/src/shared-tests/db-tests.db-tests.js +279 -177
- package/esm/src/shared-tests/deleteAll.d.ts +1 -1
- package/esm/src/shared-tests/deleteAll.js +1 -1
- package/esm/src/shared-tests/entityWithValidations.js +1 -1
- package/esm/src/shared-tests/test-custom-id-column.spec.js +4 -4
- package/esm/src/shared-tests/test-special-value.spec.js +12 -12
- package/esm/src/shared-tests/test-update-with-null.spec.js +10 -6
- package/esm/src/sort.d.ts +2 -2
- package/esm/src/sort.js +12 -10
- package/esm/src/tests/TestDataApiResponse.d.ts +1 -1
- package/esm/src/tests/TestDataApiResponse.js +3 -4
- package/esm/src/tests/createData.js +2 -2
- package/esm/src/tests/d.js +1 -1
- package/esm/src/tests/dWithPrefilter.js +1 -1
- package/esm/src/tests/entityForCustomFilter.d.ts +4 -4
- package/esm/src/tests/entityForCustomFilter.js +12 -4
- package/esm/src/tests/entityWithValidationsOnColumn.js +1 -1
- package/esm/src/tests/frontend-database-tests-setup.spec.d.ts +1 -1
- package/esm/src/tests/frontend-database-tests-setup.spec.js +14 -14
- package/esm/src/tests/h.js +4 -4
- package/esm/src/tests/remult-3-entities.d.ts +2 -2
- package/esm/src/tests/remult-3-entities.js +6 -6
- package/esm/src/tests/testHelper.spec.d.ts +7 -7
- package/esm/src/tests/testHelper.spec.js +50 -39
- package/esm/src/tests/testModel/models.js +4 -4
- package/esm/src/validators.d.ts +1 -1
- package/esm/src/validators.js +10 -7
- package/esm/src/valueConverters.d.ts +1 -1
- package/esm/src/valueConverters.js +68 -55
- package/esm/test-servers/shared/Task.d.ts +9 -0
- package/esm/test-servers/shared/Task.js +32 -0
- package/esm/test.d.ts +5 -0
- package/esm/test.js +6 -0
- package/graphql.js +157 -45
- package/index.d.ts +10 -10
- package/inputTypes.js +1 -1
- package/live-query/data-provider-live-query-storage.d.ts +3 -3
- package/live-query/data-provider-live-query-storage.js +7 -4
- package/myLog.js +2 -2
- package/package.json +2 -2
- package/postgres/postgres-data-provider.d.ts +2 -2
- package/postgres/postgres-data-provider.js +21 -16
- package/postgres/schema-builder.d.ts +1 -1
- package/postgres/schema-builder.js +22 -15
- package/remult-express.js +1 -1
- package/remult-fastify.js +7 -7
- package/remult-fresh.d.ts +1 -1
- package/remult-fresh.js +1 -4
- package/remult-knex/index.d.ts +4 -4
- package/remult-knex/index.js +50 -35
- package/remult-mongo.js +33 -23
- package/remult-next.d.ts +3 -3
- package/remult-next.js +15 -11
- package/remult-sveltekit.js +14 -15
- package/server/core.d.ts +2 -2
- package/server/expressBridge.d.ts +3 -12
- package/server/expressBridge.js +278 -279
- package/server/index.d.ts +2 -2
- package/server/index.js +5 -2
- package/server/initAsyncHooks.js +2 -2
- package/server/initDataProvider.js +1 -1
- package/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +1 -1
- package/src/backend-tests/backend-database-test-setup.backend-spec.js +40 -31
- package/src/buildRestDataProvider.d.ts +1 -1
- package/src/buildRestDataProvider.js +18 -10
- package/src/column-interfaces.d.ts +9 -9
- package/src/column.d.ts +4 -0
- package/src/column.js +20 -8
- package/src/context.d.ts +20 -8
- package/src/context.js +61 -18
- package/src/data-api.d.ts +0 -1
- package/src/data-api.js +40 -43
- package/src/data-interfaces.d.ts +1 -1
- package/src/data-providers/array-entity-data-provider.js +2 -2
- package/src/data-providers/in-memory-database.d.ts +1 -1
- package/src/data-providers/in-memory-database.js +3 -1
- package/src/data-providers/json-data-provider.js +33 -15
- package/src/data-providers/rest-data-provider.d.ts +1 -1
- package/src/data-providers/rest-data-provider.js +47 -32
- package/src/data-providers/sql-database.d.ts +5 -5
- package/src/data-providers/sql-database.js +41 -24
- package/src/data-providers/web-sql-data-provider.d.ts +4 -4
- package/src/data-providers/web-sql-data-provider.js +10 -8
- package/src/entity.d.ts +24 -24
- package/src/filter/filter-consumer-bridge-to-sql-request.d.ts +4 -4
- package/src/filter/filter-consumer-bridge-to-sql-request.js +34 -17
- package/src/filter/filter-interfaces.d.ts +7 -7
- package/src/filter/filter-interfaces.js +73 -47
- package/src/live-query/LiveQueryClient.js +35 -25
- package/src/live-query/SseSubscriptionClient.d.ts +1 -1
- package/src/live-query/SseSubscriptionClient.js +80 -76
- package/src/live-query/SubscriptionChannel.d.ts +3 -3
- package/src/live-query/SubscriptionChannel.js +26 -18
- package/src/live-query/SubscriptionServer.js +23 -17
- package/src/remult-proxy.d.ts +1 -1
- package/src/remult-proxy.js +84 -35
- package/src/remult3/DecoratorReplacer.d.ts +2 -2
- package/src/remult3/RepositoryImplementation.d.ts +51 -41
- package/src/remult3/RepositoryImplementation.js +402 -257
- package/src/remult3/remult3.d.ts +56 -51
- package/src/remult3/remult3.js +0 -1
- package/src/server-action.d.ts +12 -5
- package/src/server-action.js +78 -48
- package/src/shared-tests/db-tests-setup.d.ts +8 -8
- package/src/shared-tests/db-tests-setup.js +6 -6
- package/src/shared-tests/db-tests.db-tests.d.ts +1 -1
- package/src/shared-tests/db-tests.db-tests.js +350 -153
- package/src/shared-tests/deleteAll.d.ts +1 -1
- package/src/shared-tests/entityWithValidations.js +1 -1
- package/src/shared-tests/test-custom-id-column.spec.js +4 -4
- package/src/shared-tests/test-special-value.spec.js +9 -9
- package/src/shared-tests/test-update-with-null.spec.js +8 -4
- package/src/sort.d.ts +2 -2
- package/src/sort.js +9 -7
- package/src/tests/TestDataApiResponse.d.ts +1 -1
- package/src/tests/TestDataApiResponse.js +3 -4
- package/src/tests/createData.js +1 -1
- package/src/tests/d.js +1 -1
- package/src/tests/dWithPrefilter.js +1 -1
- package/src/tests/entityForCustomFilter.d.ts +4 -4
- package/src/tests/entityForCustomFilter.js +16 -6
- package/src/tests/entityWithValidationsOnColumn.js +1 -1
- package/src/tests/frontend-database-tests-setup.spec.d.ts +1 -1
- package/src/tests/frontend-database-tests-setup.spec.js +8 -8
- package/src/tests/h.js +3 -3
- package/src/tests/remult-3-entities.d.ts +2 -2
- package/src/tests/remult-3-entities.js +8 -4
- package/src/tests/testHelper.spec.d.ts +7 -7
- package/src/tests/testHelper.spec.js +38 -27
- package/src/tests/testModel/models.js +3 -3
- package/src/validators.d.ts +1 -1
- package/src/validators.js +18 -9
- package/src/valueConverters.d.ts +1 -1
- package/src/valueConverters.js +38 -21
- package/esm/remult-svletekit.d.ts +0 -3
- package/esm/remult-svletekit.js +0 -83
- package/esm/src/id-entity.d.ts +0 -4
- package/esm/src/id-entity.js +0 -8
- package/esm/src/remult3/getId.d.ts +0 -2
- package/esm/src/remult3/getId.js +0 -7
- package/postgres/getEntityTypescriptPostgres.d.ts +0 -1
- package/postgres/getEntityTypescriptPostgres.js +0 -125
- package/src/id-entity.d.ts +0 -4
- package/src/id-entity.js +0 -17
- package/src/remult3/getId.d.ts +0 -2
- package/src/remult3/getId.js +0 -11
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { Repository } from
|
|
1
|
+
import { Repository } from '../remult3';
|
|
2
2
|
export declare function deleteAll<entityType>(r: Repository<entityType>): Promise<Repository<entityType>>;
|
|
@@ -46,7 +46,7 @@ entityWithValidations = entityWithValidations_1 = __decorate([
|
|
|
46
46
|
t._.fields.name.error = 'invalid';
|
|
47
47
|
if (!testConfiguration.restDbRunningOnServer)
|
|
48
48
|
entityWithValidations_1.savingRowCount++;
|
|
49
|
-
}
|
|
49
|
+
},
|
|
50
50
|
}),
|
|
51
51
|
__metadata("design:paramtypes", [Remult])
|
|
52
52
|
], entityWithValidations);
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { Entity, EntityBase, Fields } from '../remult3';
|
|
2
2
|
import { describeClass } from '../remult3/DecoratorReplacer';
|
|
3
3
|
import { testAll } from './db-tests-setup';
|
|
4
|
-
describe(
|
|
5
|
-
testAll(
|
|
4
|
+
describe('custom id column', () => {
|
|
5
|
+
testAll('basic test', async ({ createEntity }) => {
|
|
6
6
|
let type = class extends EntityBase {
|
|
7
7
|
};
|
|
8
8
|
describeClass(type, Entity('custom', { allowApiCrud: true }), {
|
|
9
9
|
a: Fields.number(),
|
|
10
|
-
b: Fields.number()
|
|
10
|
+
b: Fields.number(),
|
|
11
11
|
});
|
|
12
12
|
let c = await createEntity(type);
|
|
13
13
|
let r = c.create();
|
|
@@ -20,7 +20,7 @@ describe("custom id column", () => {
|
|
|
20
20
|
await r._.save();
|
|
21
21
|
expect(c.metadata.idMetadata.field.key).toBe(c.metadata.fields.a.key);
|
|
22
22
|
});
|
|
23
|
-
testAll(
|
|
23
|
+
testAll('basic test id column not first column', async ({ createEntity }) => {
|
|
24
24
|
let type = class extends EntityBase {
|
|
25
25
|
};
|
|
26
26
|
Entity('custom2', { allowApiCrud: true })(type);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
var GroupsValue_1;
|
|
2
2
|
import { __decorate, __metadata } from "tslib";
|
|
3
|
-
import { Entity, EntityBase, Field, FieldType, Fields } from
|
|
4
|
-
import { testAll } from
|
|
3
|
+
import { Entity, EntityBase, Field, FieldType, Fields } from '../remult3';
|
|
4
|
+
import { testAll } from './db-tests-setup';
|
|
5
5
|
let GroupsValue = GroupsValue_1 = class GroupsValue {
|
|
6
6
|
constructor(value) {
|
|
7
7
|
this.value = value;
|
|
@@ -18,12 +18,12 @@ let GroupsValue = GroupsValue_1 = class GroupsValue {
|
|
|
18
18
|
return this.value.split(',');
|
|
19
19
|
}
|
|
20
20
|
removeGroup(group) {
|
|
21
|
-
let groups = this.value.split(
|
|
21
|
+
let groups = this.value.split(',').map((x) => x.trim());
|
|
22
22
|
let index = groups.indexOf(group);
|
|
23
23
|
let result = '';
|
|
24
24
|
if (index >= 0) {
|
|
25
25
|
groups.splice(index, 1);
|
|
26
|
-
result = groups.join(
|
|
26
|
+
result = groups.join(', ');
|
|
27
27
|
}
|
|
28
28
|
return new GroupsValue_1(result);
|
|
29
29
|
}
|
|
@@ -45,10 +45,10 @@ let GroupsValue = GroupsValue_1 = class GroupsValue {
|
|
|
45
45
|
GroupsValue = GroupsValue_1 = __decorate([
|
|
46
46
|
FieldType({
|
|
47
47
|
valueConverter: {
|
|
48
|
-
toJson: x => x ? x.value : '',
|
|
49
|
-
fromJson: x => new GroupsValue_1(x),
|
|
50
|
-
displayValue: x => x.value
|
|
51
|
-
}
|
|
48
|
+
toJson: (x) => (x ? x.value : ''),
|
|
49
|
+
fromJson: (x) => new GroupsValue_1(x),
|
|
50
|
+
displayValue: (x) => x.value,
|
|
51
|
+
},
|
|
52
52
|
}),
|
|
53
53
|
__metadata("design:paramtypes", [String])
|
|
54
54
|
], GroupsValue);
|
|
@@ -68,19 +68,19 @@ __decorate([
|
|
|
68
68
|
__metadata("design:type", GroupsValue)
|
|
69
69
|
], testGroups.prototype, "g", void 0);
|
|
70
70
|
testGroups = __decorate([
|
|
71
|
-
Entity(
|
|
71
|
+
Entity('testGroups', { allowApiCrud: true })
|
|
72
72
|
], testGroups);
|
|
73
|
-
testAll(
|
|
73
|
+
testAll('test save and load', async ({ createEntity }) => {
|
|
74
74
|
let re = await createEntity(testGroups);
|
|
75
75
|
await re.create({ id: 1 }).save();
|
|
76
76
|
let x = await re.findFirst();
|
|
77
77
|
expect(x.g.evilGet()).toBe('');
|
|
78
|
-
x.g = x.g.addGroup(
|
|
78
|
+
x.g = x.g.addGroup('xx');
|
|
79
79
|
expect(x.$.g.valueChanged()).toBe(true);
|
|
80
80
|
await x.save();
|
|
81
81
|
expect(x.g.evilGet()).toBe('xx');
|
|
82
82
|
});
|
|
83
|
-
testAll(
|
|
83
|
+
testAll('test2 save and load', async ({ createEntity }) => {
|
|
84
84
|
let re = await createEntity(testGroups);
|
|
85
85
|
await re.create({ id: 1, g: new GroupsValue(undefined) }).save();
|
|
86
86
|
let x = await re.findFirst();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { Entity, EntityBase, Field, Fields } from
|
|
3
|
-
import { testAll } from
|
|
2
|
+
import { Entity, EntityBase, Field, Fields } from '../remult3';
|
|
3
|
+
import { testAll } from './db-tests-setup';
|
|
4
4
|
let testNull = class testNull extends EntityBase {
|
|
5
5
|
constructor() {
|
|
6
6
|
super(...arguments);
|
|
@@ -23,19 +23,23 @@ __decorate([
|
|
|
23
23
|
testNull = __decorate([
|
|
24
24
|
Entity('testNull', { allowApiCrud: true })
|
|
25
25
|
], testNull);
|
|
26
|
-
testAll(
|
|
26
|
+
testAll('test that update null works', async ({ createEntity }) => {
|
|
27
27
|
let r = await createEntity(testNull);
|
|
28
28
|
let i = r.create({ id: 1, myCol: { value: 'abc' } });
|
|
29
29
|
await i.save();
|
|
30
|
-
expect(i.myCol?.value).toBe(
|
|
30
|
+
expect(i.myCol?.value).toBe('abc');
|
|
31
31
|
i.myCol = null;
|
|
32
32
|
expect(i.myCol).toBe(null);
|
|
33
33
|
await i.save();
|
|
34
34
|
expect(i.myCol).toBe(null);
|
|
35
35
|
}, false);
|
|
36
|
-
testAll(
|
|
36
|
+
testAll('test number with null', async ({ createEntity }) => {
|
|
37
37
|
let r = await createEntity(testNull);
|
|
38
|
-
const i = await r.insert({
|
|
38
|
+
const i = await r.insert({
|
|
39
|
+
id: 1,
|
|
40
|
+
myCol: { value: 'abc' },
|
|
41
|
+
numberWithNull: null,
|
|
42
|
+
});
|
|
39
43
|
expect(i.numberWithNull).toBe(null);
|
|
40
44
|
expect(await r.count({ numberWithNull: null })).toBe(1);
|
|
41
45
|
i.numberWithNull = 0;
|
package/esm/src/sort.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FieldMetadata } from
|
|
2
|
-
import { EntityMetadata, EntityOrderBy } from
|
|
1
|
+
import { FieldMetadata } from './column-interfaces';
|
|
2
|
+
import { EntityMetadata, EntityOrderBy } from './remult3';
|
|
3
3
|
export declare class Sort {
|
|
4
4
|
toEntityOrderBy(): EntityOrderBy<any>;
|
|
5
5
|
constructor(...segments: SortSegment[]);
|
package/esm/src/sort.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CompoundIdField } from
|
|
1
|
+
import { CompoundIdField } from './column';
|
|
2
2
|
export class Sort {
|
|
3
3
|
constructor(...segments) {
|
|
4
4
|
this.Segments = segments;
|
|
@@ -7,10 +7,10 @@ export class Sort {
|
|
|
7
7
|
let result = {};
|
|
8
8
|
for (const seg of this.Segments) {
|
|
9
9
|
if (seg.isDescending) {
|
|
10
|
-
result[seg.field.key] =
|
|
10
|
+
result[seg.field.key] = 'desc';
|
|
11
11
|
}
|
|
12
12
|
else
|
|
13
|
-
result[seg.field.key] =
|
|
13
|
+
result[seg.field.key] = 'asc';
|
|
14
14
|
}
|
|
15
15
|
return result;
|
|
16
16
|
}
|
|
@@ -51,10 +51,10 @@ export class Sort {
|
|
|
51
51
|
let field = entityDefs.fields.find(key);
|
|
52
52
|
if (field) {
|
|
53
53
|
switch (element) {
|
|
54
|
-
case
|
|
54
|
+
case 'desc':
|
|
55
55
|
sort.Segments.push({ field, isDescending: true });
|
|
56
56
|
break;
|
|
57
|
-
case
|
|
57
|
+
case 'asc':
|
|
58
58
|
sort.Segments.push({ field });
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -70,12 +70,12 @@ export class Sort {
|
|
|
70
70
|
orderBy = new Sort({ field: entityMetadata.idMetadata.field });
|
|
71
71
|
if (entityMetadata.idMetadata.field instanceof CompoundIdField) {
|
|
72
72
|
for (const field of entityMetadata.idMetadata.field.fields) {
|
|
73
|
-
if (!orderBy.Segments.find(x => x.field == field)) {
|
|
73
|
+
if (!orderBy.Segments.find((x) => x.field == field)) {
|
|
74
74
|
orderBy.Segments.push({ field: field });
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
-
else if (!orderBy.Segments.find(x => x.field == entityMetadata.idMetadata.field)) {
|
|
78
|
+
else if (!orderBy.Segments.find((x) => x.field == entityMetadata.idMetadata.field)) {
|
|
79
79
|
orderBy.Segments.push({ field: entityMetadata.idMetadata.field });
|
|
80
80
|
}
|
|
81
81
|
return orderBy;
|
|
@@ -84,18 +84,20 @@ export class Sort {
|
|
|
84
84
|
if (!orderBy || Object.keys(orderBy).length === 0)
|
|
85
85
|
orderBy = entityMetadata.options.defaultOrderBy;
|
|
86
86
|
if (!orderBy)
|
|
87
|
-
orderBy = {
|
|
87
|
+
orderBy = {
|
|
88
|
+
[entityMetadata.idMetadata.field.key]: 'asc',
|
|
89
|
+
};
|
|
88
90
|
else
|
|
89
91
|
orderBy = { ...orderBy };
|
|
90
92
|
if (entityMetadata.idMetadata.field instanceof CompoundIdField) {
|
|
91
93
|
for (const field of entityMetadata.idMetadata.field.fields) {
|
|
92
94
|
if (!orderBy[field.key]) {
|
|
93
|
-
orderBy[field.key] =
|
|
95
|
+
orderBy[field.key] = 'asc';
|
|
94
96
|
}
|
|
95
97
|
}
|
|
96
98
|
}
|
|
97
99
|
else if (!orderBy[entityMetadata.idMetadata.field.key]) {
|
|
98
|
-
orderBy[entityMetadata.idMetadata.field.key] =
|
|
100
|
+
orderBy[entityMetadata.idMetadata.field.key] = 'asc';
|
|
99
101
|
}
|
|
100
102
|
return orderBy;
|
|
101
103
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
export class TestDataApiResponse {
|
|
2
|
-
progress(progress) {
|
|
3
|
-
}
|
|
2
|
+
progress(progress) { }
|
|
4
3
|
success(data) {
|
|
5
|
-
throw new Error(
|
|
4
|
+
throw new Error('didnt expect success: ' + JSON.stringify(data));
|
|
6
5
|
}
|
|
7
6
|
forbidden() {
|
|
8
7
|
throw new Error('didnt expect forbidden:');
|
|
@@ -17,6 +16,6 @@ export class TestDataApiResponse {
|
|
|
17
16
|
throw new Error('not found');
|
|
18
17
|
}
|
|
19
18
|
error(data) {
|
|
20
|
-
throw new Error('error: ' + data +
|
|
19
|
+
throw new Error('error: ' + data + ' ' + JSON.stringify(data));
|
|
21
20
|
}
|
|
22
21
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { InMemoryDataProvider } from '../data-providers/in-memory-database';
|
|
2
2
|
import { Remult } from '../context';
|
|
3
|
-
import { Categories as newCategories } from './remult-3-entities';
|
|
3
|
+
import { Categories as newCategories, } from './remult-3-entities';
|
|
4
4
|
import { deleteAll } from '../shared-tests/deleteAll';
|
|
5
5
|
export async function createData(doInsert, entity) {
|
|
6
6
|
let remult = new Remult();
|
|
7
|
-
remult.dataProvider =
|
|
7
|
+
remult.dataProvider = new InMemoryDataProvider();
|
|
8
8
|
if (!entity)
|
|
9
9
|
entity = newCategories;
|
|
10
10
|
let rep = await deleteAll(remult.repo(entity));
|
package/esm/src/tests/d.js
CHANGED
|
@@ -5,12 +5,12 @@ export declare class entityForrawFilter extends EntityBase {
|
|
|
5
5
|
oneAndThree?: boolean;
|
|
6
6
|
dbOneOrThree?: boolean;
|
|
7
7
|
two?: boolean;
|
|
8
|
-
}) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").
|
|
9
|
-
static oneAndThree: (() => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").
|
|
10
|
-
static testNumericValue: ((y: number) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").
|
|
8
|
+
}) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").customFilterInfo<entityForrawFilter>;
|
|
9
|
+
static oneAndThree: (() => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").customFilterInfo<entityForrawFilter>;
|
|
10
|
+
static testNumericValue: ((y: number) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").customFilterInfo<entityForrawFilter>;
|
|
11
11
|
static testObjectValue: ((y: {
|
|
12
12
|
val: number;
|
|
13
|
-
}) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").
|
|
13
|
+
}) => EntityFilter<entityForrawFilter>) & import("../filter/filter-interfaces").customFilterInfo<entityForrawFilter>;
|
|
14
14
|
}
|
|
15
15
|
export declare class entityForrawFilter1 extends entityForrawFilter {
|
|
16
16
|
}
|
|
@@ -17,14 +17,22 @@ entityForrawFilter.filter = Filter.createCustom(async (c, remult) => {
|
|
|
17
17
|
const e = await dbNamesOf(remult.repo(entityForrawFilter_1));
|
|
18
18
|
r.push({
|
|
19
19
|
$and: [
|
|
20
|
-
SqlDatabase.rawFilter(async (x) => x.sql =
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
SqlDatabase.rawFilter(async (x) => (x.sql =
|
|
21
|
+
e.id +
|
|
22
|
+
' in (' +
|
|
23
|
+
x.addParameterAndReturnSqlToken(1) +
|
|
24
|
+
',' +
|
|
25
|
+
x.addParameterAndReturnSqlToken(3) +
|
|
26
|
+
')')),
|
|
27
|
+
ArrayEntityDataProvider.rawFilter((x) => x.id == 1 || x.id == 3),
|
|
28
|
+
],
|
|
23
29
|
});
|
|
24
30
|
}
|
|
25
31
|
return { $and: r };
|
|
26
32
|
});
|
|
27
|
-
entityForrawFilter.oneAndThree = Filter.createCustom(() => ({
|
|
33
|
+
entityForrawFilter.oneAndThree = Filter.createCustom(() => ({
|
|
34
|
+
id: [1, 3],
|
|
35
|
+
}));
|
|
28
36
|
entityForrawFilter.testNumericValue = Filter.createCustom((val) => ({ id: val }));
|
|
29
37
|
entityForrawFilter.testObjectValue = Filter.createCustom((val) => ({ id: val.val }));
|
|
30
38
|
__decorate([
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dbTestWhatSignature } from
|
|
1
|
+
import { dbTestWhatSignature } from '../shared-tests/db-tests-setup';
|
|
2
2
|
export declare function testWebSqlImpl(key: string, what: dbTestWhatSignature, focus?: boolean): void;
|
|
3
3
|
export declare function testRest(key: string, what: dbTestWhatSignature, focus?: boolean): void;
|
|
4
4
|
import '../shared-tests/';
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { addDatabaseToTest, itWithFocus, TestDbs } from
|
|
2
|
-
import { InMemoryDataProvider, remult } from
|
|
3
|
-
import { Remult } from
|
|
4
|
-
import { SqlDatabase } from
|
|
5
|
-
import { WebSqlDataProvider } from
|
|
6
|
-
import { MockRestDataProvider } from
|
|
1
|
+
import { addDatabaseToTest, itWithFocus, TestDbs, } from '../shared-tests/db-tests-setup';
|
|
2
|
+
import { InMemoryDataProvider, remult } from '../..';
|
|
3
|
+
import { Remult } from '../context';
|
|
4
|
+
import { SqlDatabase } from '../data-providers/sql-database';
|
|
5
|
+
import { WebSqlDataProvider } from '../data-providers/web-sql-data-provider';
|
|
6
|
+
import { MockRestDataProvider } from './testHelper.spec';
|
|
7
7
|
export function testWebSqlImpl(key, what, focus = false) {
|
|
8
|
-
itWithFocus(key +
|
|
8
|
+
itWithFocus(key + ' - WebSql', async () => {
|
|
9
9
|
let webSql = new WebSqlDataProvider('test');
|
|
10
10
|
const sql = new SqlDatabase(webSql);
|
|
11
11
|
for (const r of await (await sql.execute("select name from sqlite_master where type='table'")).rows) {
|
|
12
12
|
switch (r.name) {
|
|
13
|
-
case
|
|
13
|
+
case '__WebKitDatabaseInfoTable__':
|
|
14
14
|
break;
|
|
15
|
-
case
|
|
15
|
+
case 'sqlite_sequence':
|
|
16
16
|
break;
|
|
17
17
|
default:
|
|
18
|
-
await sql.execute(
|
|
18
|
+
await sql.execute('drop table if exists ' + r.name);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
let remult = new Remult();
|
|
22
|
-
remult.dataProvider =
|
|
22
|
+
remult.dataProvider = sql;
|
|
23
23
|
await what({ db: sql, remult, createEntity: async (x) => remult.repo(x) });
|
|
24
24
|
}, focus);
|
|
25
25
|
}
|
|
26
26
|
addDatabaseToTest(testWebSqlImpl);
|
|
27
27
|
export function testRest(key, what, focus = false) {
|
|
28
|
-
itWithFocus(key +
|
|
28
|
+
itWithFocus(key + ' - Rest Provider', async () => {
|
|
29
29
|
let r = new Remult();
|
|
30
|
-
r.dataProvider =
|
|
30
|
+
r.dataProvider = new InMemoryDataProvider();
|
|
31
31
|
let db = new MockRestDataProvider(r);
|
|
32
|
-
remult.dataProvider =
|
|
32
|
+
remult.dataProvider = db;
|
|
33
33
|
await what({ db, remult, createEntity: async (x) => remult.repo(x) });
|
|
34
34
|
}, focus);
|
|
35
35
|
}
|
package/esm/src/tests/h.js
CHANGED
|
@@ -18,18 +18,18 @@ __decorate([
|
|
|
18
18
|
h = h_1 = __decorate([
|
|
19
19
|
FieldType({
|
|
20
20
|
valueConverter: {
|
|
21
|
-
toJson: x => x != undefined ? x : '',
|
|
22
|
-
fromJson: x => x ? x : null
|
|
21
|
+
toJson: (x) => (x != undefined ? x : ''),
|
|
22
|
+
fromJson: (x) => (x ? x : null),
|
|
23
23
|
},
|
|
24
24
|
}),
|
|
25
25
|
Entity('h', {
|
|
26
|
-
saving: self => {
|
|
26
|
+
saving: (self) => {
|
|
27
27
|
if (self.refH)
|
|
28
28
|
self.refHId = self.refH.id;
|
|
29
29
|
else
|
|
30
30
|
self.refHId = '';
|
|
31
31
|
},
|
|
32
|
-
allowApiCrud: true
|
|
32
|
+
allowApiCrud: true,
|
|
33
33
|
})
|
|
34
34
|
], h);
|
|
35
35
|
export { h };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { EntityBase, Field, Entity, Fields } from
|
|
3
|
-
import { Status } from
|
|
2
|
+
import { EntityBase, Field, Entity, Fields } from '../remult3';
|
|
3
|
+
import { Status } from './testModel/models';
|
|
4
4
|
let Products = class Products {
|
|
5
5
|
};
|
|
6
6
|
__decorate([
|
|
@@ -36,7 +36,7 @@ let Categories = class Categories extends EntityBase {
|
|
|
36
36
|
};
|
|
37
37
|
__decorate([
|
|
38
38
|
Fields.number({
|
|
39
|
-
dbName: 'CategoryID'
|
|
39
|
+
dbName: 'CategoryID',
|
|
40
40
|
}),
|
|
41
41
|
__metadata("design:type", Number)
|
|
42
42
|
], Categories.prototype, "id", void 0);
|
|
@@ -50,13 +50,13 @@ __decorate([
|
|
|
50
50
|
], Categories.prototype, "description", void 0);
|
|
51
51
|
__decorate([
|
|
52
52
|
Fields.number({
|
|
53
|
-
serverExpression: c => c.categoryName ? c.categoryName.length : undefined
|
|
53
|
+
serverExpression: (c) => c.categoryName ? c.categoryName.length : undefined,
|
|
54
54
|
}),
|
|
55
55
|
__metadata("design:type", Number)
|
|
56
56
|
], Categories.prototype, "categoryNameLength", void 0);
|
|
57
57
|
__decorate([
|
|
58
58
|
Fields.number({
|
|
59
|
-
serverExpression: (c) => Promise.resolve(c.categoryName ? c.categoryName.length : undefined)
|
|
59
|
+
serverExpression: (c) => Promise.resolve(c.categoryName ? c.categoryName.length : undefined),
|
|
60
60
|
}),
|
|
61
61
|
__metadata("design:type", Number)
|
|
62
62
|
], Categories.prototype, "categoryNameLengthAsync", void 0);
|
|
@@ -66,7 +66,7 @@ __decorate([
|
|
|
66
66
|
], Categories.prototype, "status", void 0);
|
|
67
67
|
Categories = __decorate([
|
|
68
68
|
Entity('Categories', {
|
|
69
|
-
allowApiCrud: true
|
|
69
|
+
allowApiCrud: true,
|
|
70
70
|
})
|
|
71
71
|
], Categories);
|
|
72
72
|
export { Categories };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import './frontend-database-tests-setup.spec';
|
|
2
|
-
import { Remult } from
|
|
3
|
-
import { DataApi } from
|
|
4
|
-
import { DataProvider, EntityDataProvider } from
|
|
5
|
-
import { InMemoryDataProvider } from
|
|
6
|
-
import { EntityMetadata } from
|
|
2
|
+
import { Remult } from '../context';
|
|
3
|
+
import { DataApi } from '../data-api';
|
|
4
|
+
import { DataProvider, EntityDataProvider } from '../data-interfaces';
|
|
5
|
+
import { InMemoryDataProvider } from '../data-providers/in-memory-database';
|
|
6
|
+
import { EntityMetadata } from '../remult3';
|
|
7
7
|
export declare function itForEach<T>(name: string, arrayOfT: T[], runAsync: (item: T) => Promise<any>): void;
|
|
8
8
|
export declare function fitForEach<T>(name: string, arrayOfT: T[], runAsync: (item: T) => Promise<any>): void;
|
|
9
9
|
export declare function testAsIfOnBackend(what: () => Promise<any>): Promise<void>;
|
|
@@ -31,6 +31,6 @@ export declare class MockRestDataProvider implements DataProvider {
|
|
|
31
31
|
constructor(remult: Remult);
|
|
32
32
|
getEntityDataProvider(metadata: EntityMetadata<any>): EntityDataProvider;
|
|
33
33
|
transaction(action: (dataProvider: DataProvider) => Promise<void>): Promise<void>;
|
|
34
|
-
|
|
34
|
+
isProxy: boolean;
|
|
35
35
|
}
|
|
36
|
-
export declare function createMockHttpDataProvider(dataApi: DataApi<any>): import(
|
|
36
|
+
export declare function createMockHttpDataProvider(dataApi: DataApi<any>): import('../data-interfaces').RestDataProviderHttpProvider;
|