remult 0.17.0-exp.7 → 0.17.0-exp.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -5
- package/{assign.d.ts → core/assign.d.ts} +0 -0
- package/{assign.js → core/assign.js} +0 -0
- package/{classType.d.ts → core/classType.d.ts} +0 -0
- package/{classType.js → core/classType.js} +0 -0
- package/{esm → core}/graphql.d.ts +0 -0
- package/{graphql.js → core/graphql.js} +0 -0
- package/{esm → core}/index.d.ts +1 -2
- package/{index.js → core/index.js} +0 -0
- package/{esm → core}/inputTypes.d.ts +0 -0
- package/{inputTypes.js → core/inputTypes.js} +0 -0
- package/{esm → core}/postgres/index.d.ts +0 -0
- package/{postgres → core/postgres}/index.js +0 -0
- package/{esm → core}/postgres/postgres-data-provider.d.ts +0 -0
- package/{postgres → core/postgres}/postgres-data-provider.js +0 -0
- package/{esm → core}/postgres/schema-builder.d.ts +0 -0
- package/{postgres → core/postgres}/schema-builder.js +4 -4
- package/core/remult-express.d.ts +6 -0
- package/core/remult-express.js +34 -0
- package/{esm → core}/remult-fastify.d.ts +0 -0
- package/{remult-fastify.js → core/remult-fastify.js} +2 -2
- package/{esm → core}/remult-fresh.d.ts +0 -0
- package/{remult-fresh.js → core/remult-fresh.js} +1 -1
- package/{esm → core}/remult-knex/index.d.ts +0 -0
- package/{remult-knex → core/remult-knex}/index.js +18 -10
- package/{esm → core}/remult-mongo.d.ts +0 -0
- package/{remult-mongo.js → core/remult-mongo.js} +0 -0
- package/{esm → core}/server/JsonEntityFileStorage.d.ts +0 -0
- package/{server → core/server}/JsonEntityFileStorage.js +0 -0
- package/{esm/server/index.d.ts → core/server/core.d.ts} +1 -1
- package/{server/index.js → core/server/core.js} +2 -2
- package/{esm → core}/server/expressBridge.d.ts +11 -45
- package/{server → core/server}/expressBridge.js +23 -40
- package/core/server/index.d.ts +4 -0
- package/core/server/index.js +13 -0
- package/{esm → core}/server/initAsyncHooks.d.ts +0 -0
- package/{server → core/server}/initAsyncHooks.js +0 -0
- package/{esm → core}/src/__EntityValueProvider.d.ts +0 -0
- package/{src → core/src}/__EntityValueProvider.js +0 -0
- package/{esm → core}/src/__RowsOfDataForTesting.d.ts +0 -0
- package/{src → core/src}/__RowsOfDataForTesting.js +0 -0
- package/{esm → core}/src/backend-tests/backend-database-test-setup.backend-spec.d.ts +1 -0
- package/{src → core/src}/backend-tests/backend-database-test-setup.backend-spec.js +11 -1
- package/{esm → core}/src/backend-tests/my-test.backend-spec.d.ts +0 -0
- package/{src → core/src}/backend-tests/my-test.backend-spec.js +57 -0
- package/{esm/classType.js → core/src/backend-tests/test-http-server.backend-spec.d.ts} +0 -0
- package/{src → core/src}/backend-tests/test-http-server.backend-spec.js +59 -50
- package/{esm → core}/src/column-interfaces.d.ts +0 -0
- package/{src → core/src}/column-interfaces.js +0 -0
- package/{src → core/src}/column.d.ts +3 -3
- package/{src → core/src}/column.js +0 -0
- package/{esm → core}/src/context.d.ts +0 -17
- package/{src → core/src}/context.js +1 -126
- package/{esm → core}/src/data-api.d.ts +0 -0
- package/{src → core/src}/data-api.js +33 -104
- package/{esm → core}/src/data-interfaces.d.ts +0 -0
- package/{src → core/src}/data-interfaces.js +0 -0
- package/{esm → core}/src/data-providers/array-entity-data-provider.d.ts +0 -0
- package/{src → core/src}/data-providers/array-entity-data-provider.js +16 -1
- package/{esm → core}/src/data-providers/in-memory-database.d.ts +0 -0
- package/{src → core/src}/data-providers/in-memory-database.js +0 -0
- package/{esm → core}/src/data-providers/json-data-provider.d.ts +0 -0
- package/{src → core/src}/data-providers/json-data-provider.js +0 -0
- package/{src → core/src}/data-providers/rest-data-provider.d.ts +0 -4
- package/{src → core/src}/data-providers/rest-data-provider.js +7 -11
- package/{esm → core}/src/data-providers/sql-database.d.ts +0 -0
- package/{src → core/src}/data-providers/sql-database.js +1 -1
- package/{esm → core}/src/data-providers/web-sql-data-provider.d.ts +0 -0
- package/{src → core/src}/data-providers/web-sql-data-provider.js +1 -1
- package/{esm → core}/src/entity.d.ts +0 -0
- package/{src → core/src}/entity.js +0 -0
- package/{esm → core}/src/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -0
- package/{src → core/src}/filter/filter-consumer-bridge-to-sql-request.js +0 -0
- package/{esm → core}/src/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -0
- package/{src → core/src}/filter/filter-consumer-bridge-to-url-builder.js +0 -0
- package/{esm → core}/src/filter/filter-interfaces.d.ts +0 -0
- package/{src → core/src}/filter/filter-interfaces.js +0 -0
- package/{esm → core}/src/id-entity.d.ts +0 -0
- package/{src → core/src}/id-entity.js +0 -0
- package/core/src/remult-proxy.d.ts +2 -0
- package/{src → core/src}/remult-proxy.js +9 -19
- package/{esm → core}/src/remult3/DecoratorReplacer.d.ts +0 -0
- package/{src → core/src}/remult3/DecoratorReplacer.js +0 -0
- package/{src → core/src}/remult3/RepositoryImplementation.d.ts +3 -6
- package/{src → core/src}/remult3/RepositoryImplementation.js +42 -68
- package/{esm → core}/src/remult3/index.d.ts +0 -0
- package/{src → core/src}/remult3/index.js +0 -0
- package/{esm → core}/src/remult3/remult3.d.ts +6 -10
- package/{src → core/src}/remult3/remult3.js +0 -0
- package/{src → core/src}/server-action.d.ts +0 -4
- package/{src → core/src}/server-action.js +11 -10
- package/{src → core/src}/shared-tests/db-tests-setup.d.ts +1 -1
- package/{src → core/src}/shared-tests/db-tests-setup.js +3 -1
- package/{esm → core}/src/shared-tests/db-tests.db-tests.d.ts +0 -0
- package/{src → core/src}/shared-tests/db-tests.db-tests.js +0 -0
- package/{esm → core}/src/shared-tests/deleteAll.d.ts +0 -0
- package/{src → core/src}/shared-tests/deleteAll.js +0 -0
- package/{esm → core}/src/shared-tests/entityWithValidations.d.ts +0 -0
- package/{src → core/src}/shared-tests/entityWithValidations.js +0 -0
- package/{esm → core}/src/shared-tests/index.d.ts +0 -0
- package/{src → core/src}/shared-tests/index.js +0 -0
- package/{esm → core}/src/shared-tests/test-custom-id-column.spec.d.ts +0 -0
- package/{src → core/src}/shared-tests/test-custom-id-column.spec.js +0 -0
- package/{esm → core}/src/shared-tests/test-special-value.spec.d.ts +0 -0
- package/{src → core/src}/shared-tests/test-special-value.spec.js +0 -0
- package/{esm → core}/src/shared-tests/test-update-with-null.spec.d.ts +0 -0
- package/{src → core/src}/shared-tests/test-update-with-null.spec.js +0 -0
- package/{esm → core}/src/sort.d.ts +0 -1
- package/{src → core/src}/sort.js +0 -18
- package/{esm → core}/src/sql-command.d.ts +0 -0
- package/{src → core/src}/sql-command.js +0 -0
- package/{esm → core}/src/tests/Done.d.ts +0 -0
- package/{src → core/src}/tests/Done.js +0 -0
- package/{esm → core}/src/tests/TestDataApiResponse.d.ts +0 -0
- package/{src → core/src}/tests/TestDataApiResponse.js +0 -0
- package/{esm → core}/src/tests/c.d.ts +0 -0
- package/{src → core/src}/tests/c.js +0 -0
- package/{esm → core}/src/tests/createData.d.ts +0 -0
- package/{src → core/src}/tests/createData.js +0 -0
- package/{esm → core}/src/tests/d.d.ts +0 -0
- package/{src → core/src}/tests/d.js +0 -0
- package/{esm → core}/src/tests/dWithPrefilter.d.ts +0 -0
- package/{src → core/src}/tests/dWithPrefilter.js +0 -0
- package/{esm → core}/src/tests/entityForCustomFilter.d.ts +0 -0
- package/{src → core/src}/tests/entityForCustomFilter.js +0 -0
- package/{esm → core}/src/tests/entityWithValidationsOnColumn.d.ts +0 -0
- package/{src → core/src}/tests/entityWithValidationsOnColumn.js +0 -0
- package/{esm → core}/src/tests/frontend-database-tests-setup.spec.d.ts +0 -0
- package/{src → core/src}/tests/frontend-database-tests-setup.spec.js +0 -0
- package/{esm → core}/src/tests/h.d.ts +0 -0
- package/{src → core/src}/tests/h.js +0 -0
- package/{esm → core}/src/tests/remult-3-entities.d.ts +0 -0
- package/{src → core/src}/tests/remult-3-entities.js +0 -0
- package/{esm → core}/src/tests/tasks.d.ts +0 -0
- package/{src → core/src}/tests/tasks.js +0 -0
- package/{esm → core}/src/tests/testHelper.spec.d.ts +0 -2
- package/{src → core/src}/tests/testHelper.spec.js +95 -99
- package/{esm → core}/src/tests/testModel/models.d.ts +0 -0
- package/{src → core/src}/tests/testModel/models.js +0 -0
- package/{esm → core}/src/validators.d.ts +0 -0
- package/{src → core/src}/validators.js +0 -0
- package/{esm → core}/src/valueConverters.d.ts +0 -0
- package/{src → core/src}/valueConverters.js +3 -1
- package/{esm → core}/urlBuilder.d.ts +0 -0
- package/{urlBuilder.js → core/urlBuilder.js} +0 -0
- package/esm/{assign.d.ts → core/assign.d.ts} +0 -0
- package/esm/{assign.js → core/assign.js} +0 -0
- package/esm/{classType.d.ts → core/classType.d.ts} +0 -0
- package/esm/{src/__EntityValueProvider.js → core/classType.js} +0 -0
- package/{graphql.d.ts → esm/core/graphql.d.ts} +0 -0
- package/esm/{graphql.js → core/graphql.js} +0 -0
- package/{index.d.ts → esm/core/index.d.ts} +1 -2
- package/esm/{index.js → core/index.js} +0 -0
- package/{inputTypes.d.ts → esm/core/inputTypes.d.ts} +0 -0
- package/esm/{inputTypes.js → core/inputTypes.js} +0 -0
- package/{postgres → esm/core/postgres}/index.d.ts +0 -0
- package/esm/{postgres → core/postgres}/index.js +0 -0
- package/{postgres → esm/core/postgres}/postgres-data-provider.d.ts +0 -0
- package/esm/{postgres → core/postgres}/postgres-data-provider.js +0 -0
- package/{postgres → esm/core/postgres}/schema-builder.d.ts +0 -0
- package/esm/{postgres → core/postgres}/schema-builder.js +4 -4
- package/esm/core/remult-express.d.ts +6 -0
- package/esm/core/remult-express.js +23 -0
- package/{remult-fastify.d.ts → esm/core/remult-fastify.d.ts} +0 -0
- package/esm/{remult-fastify.js → core/remult-fastify.js} +1 -1
- package/{remult-fresh.d.ts → esm/core/remult-fresh.d.ts} +0 -0
- package/esm/{remult-fresh.js → core/remult-fresh.js} +2 -2
- package/{remult-knex → esm/core/remult-knex}/index.d.ts +0 -0
- package/esm/{remult-knex → core/remult-knex}/index.js +11 -4
- package/{remult-mongo.d.ts → esm/core/remult-mongo.d.ts} +0 -0
- package/esm/{remult-mongo.js → core/remult-mongo.js} +0 -0
- package/{server → esm/core/server}/JsonEntityFileStorage.d.ts +0 -0
- package/esm/{server → core/server}/JsonEntityFileStorage.js +0 -0
- package/{server/index.d.ts → esm/core/server/core.d.ts} +1 -1
- package/esm/{server/index.js → core/server/core.js} +1 -1
- package/{server → esm/core/server}/expressBridge.d.ts +11 -45
- package/esm/{server → core/server}/expressBridge.js +22 -29
- package/esm/core/server/index.d.ts +4 -0
- package/esm/core/server/index.js +7 -0
- package/{server → esm/core/server}/initAsyncHooks.d.ts +0 -0
- package/esm/{server → core/server}/initAsyncHooks.js +0 -0
- package/{src → esm/core/src}/__EntityValueProvider.d.ts +0 -0
- package/esm/{src/__RowsOfDataForTesting.js → core/src/__EntityValueProvider.js} +0 -0
- package/{src → esm/core/src}/__RowsOfDataForTesting.d.ts +0 -0
- package/esm/{src/entity.js → core/src/__RowsOfDataForTesting.js} +0 -0
- package/{src → esm/core/src}/backend-tests/backend-database-test-setup.backend-spec.d.ts +1 -0
- package/esm/{src → core/src}/backend-tests/backend-database-test-setup.backend-spec.js +10 -0
- package/{src → esm/core/src}/backend-tests/my-test.backend-spec.d.ts +0 -0
- package/esm/{src → core/src}/backend-tests/my-test.backend-spec.js +48 -0
- package/esm/{src/filter/filter-consumer-bridge-to-url-builder.js → core/src/backend-tests/test-http-server.backend-spec.d.ts} +0 -0
- package/esm/{src → core/src}/backend-tests/test-http-server.backend-spec.js +32 -48
- package/{src → esm/core/src}/column-interfaces.d.ts +0 -0
- package/esm/{src → core/src}/column-interfaces.js +0 -0
- package/esm/{src → core/src}/column.d.ts +3 -3
- package/esm/{src → core/src}/column.js +0 -0
- package/{src → esm/core/src}/context.d.ts +0 -17
- package/esm/{src → core/src}/context.js +0 -76
- package/{src → esm/core/src}/data-api.d.ts +0 -0
- package/esm/{src → core/src}/data-api.js +11 -44
- package/{src → esm/core/src}/data-interfaces.d.ts +0 -0
- package/esm/{src → core/src}/data-interfaces.js +0 -0
- package/{src → esm/core/src}/data-providers/array-entity-data-provider.d.ts +0 -0
- package/esm/{src → core/src}/data-providers/array-entity-data-provider.js +16 -1
- package/{src → esm/core/src}/data-providers/in-memory-database.d.ts +0 -0
- package/esm/{src → core/src}/data-providers/in-memory-database.js +0 -0
- package/{src → esm/core/src}/data-providers/json-data-provider.d.ts +0 -0
- package/esm/{src → core/src}/data-providers/json-data-provider.js +0 -0
- package/esm/{src → core/src}/data-providers/rest-data-provider.d.ts +0 -4
- package/esm/{src → core/src}/data-providers/rest-data-provider.js +7 -11
- package/{src → esm/core/src}/data-providers/sql-database.d.ts +0 -0
- package/esm/{src → core/src}/data-providers/sql-database.js +1 -1
- package/{src → esm/core/src}/data-providers/web-sql-data-provider.d.ts +0 -0
- package/esm/{src → core/src}/data-providers/web-sql-data-provider.js +1 -1
- package/{src → esm/core/src}/entity.d.ts +0 -0
- package/esm/{src/remult3/remult3.js → core/src/entity.js} +0 -0
- package/{src → esm/core/src}/filter/filter-consumer-bridge-to-sql-request.d.ts +0 -0
- package/esm/{src → core/src}/filter/filter-consumer-bridge-to-sql-request.js +0 -0
- package/{src → esm/core/src}/filter/filter-consumer-bridge-to-url-builder.d.ts +0 -0
- package/esm/{src/sql-command.js → core/src/filter/filter-consumer-bridge-to-url-builder.js} +0 -0
- package/{src → esm/core/src}/filter/filter-interfaces.d.ts +0 -0
- package/esm/{src → core/src}/filter/filter-interfaces.js +0 -0
- package/{src → esm/core/src}/id-entity.d.ts +0 -0
- package/esm/{src → core/src}/id-entity.js +0 -0
- package/esm/core/src/remult-proxy.d.ts +2 -0
- package/esm/{src → core/src}/remult-proxy.js +9 -11
- package/{src → esm/core/src}/remult3/DecoratorReplacer.d.ts +0 -0
- package/esm/{src → core/src}/remult3/DecoratorReplacer.js +0 -0
- package/esm/{src → core/src}/remult3/RepositoryImplementation.d.ts +3 -6
- package/esm/{src → core/src}/remult3/RepositoryImplementation.js +22 -38
- package/{src → esm/core/src}/remult3/index.d.ts +0 -0
- package/esm/{src → core/src}/remult3/index.js +0 -0
- package/{src → esm/core/src}/remult3/remult3.d.ts +6 -10
- package/{src/shared-tests/test-custom-id-column.spec.d.ts → esm/core/src/remult3/remult3.js} +0 -0
- package/esm/{src → core/src}/server-action.d.ts +0 -4
- package/esm/{src → core/src}/server-action.js +12 -10
- package/esm/{src → core/src}/shared-tests/db-tests-setup.d.ts +1 -1
- package/esm/{src → core/src}/shared-tests/db-tests-setup.js +3 -1
- package/{src → esm/core/src}/shared-tests/db-tests.db-tests.d.ts +0 -0
- package/esm/{src → core/src}/shared-tests/db-tests.db-tests.js +0 -0
- package/{src → esm/core/src}/shared-tests/deleteAll.d.ts +0 -0
- package/esm/{src → core/src}/shared-tests/deleteAll.js +0 -0
- package/{src → esm/core/src}/shared-tests/entityWithValidations.d.ts +0 -0
- package/esm/{src → core/src}/shared-tests/entityWithValidations.js +0 -0
- package/{src → esm/core/src}/shared-tests/index.d.ts +0 -0
- package/esm/{src → core/src}/shared-tests/index.js +0 -0
- package/{src/shared-tests/test-update-with-null.spec.d.ts → esm/core/src/shared-tests/test-custom-id-column.spec.d.ts} +0 -0
- package/esm/{src → core/src}/shared-tests/test-custom-id-column.spec.js +0 -0
- package/{src → esm/core/src}/shared-tests/test-special-value.spec.d.ts +0 -0
- package/esm/{src → core/src}/shared-tests/test-special-value.spec.js +0 -0
- package/esm/core/src/shared-tests/test-update-with-null.spec.d.ts +1 -0
- package/esm/{src → core/src}/shared-tests/test-update-with-null.spec.js +0 -0
- package/{src → esm/core/src}/sort.d.ts +0 -1
- package/esm/{src → core/src}/sort.js +0 -18
- package/{src → esm/core/src}/sql-command.d.ts +0 -0
- package/esm/core/src/sql-command.js +1 -0
- package/{src → esm/core/src}/tests/Done.d.ts +0 -0
- package/esm/{src → core/src}/tests/Done.js +0 -0
- package/{src → esm/core/src}/tests/TestDataApiResponse.d.ts +0 -0
- package/esm/{src → core/src}/tests/TestDataApiResponse.js +0 -0
- package/{src → esm/core/src}/tests/c.d.ts +0 -0
- package/esm/{src → core/src}/tests/c.js +0 -0
- package/{src → esm/core/src}/tests/createData.d.ts +0 -0
- package/esm/{src → core/src}/tests/createData.js +0 -0
- package/{src → esm/core/src}/tests/d.d.ts +0 -0
- package/esm/{src → core/src}/tests/d.js +0 -0
- package/{src → esm/core/src}/tests/dWithPrefilter.d.ts +0 -0
- package/esm/{src → core/src}/tests/dWithPrefilter.js +0 -0
- package/{src → esm/core/src}/tests/entityForCustomFilter.d.ts +0 -0
- package/esm/{src → core/src}/tests/entityForCustomFilter.js +0 -0
- package/{src → esm/core/src}/tests/entityWithValidationsOnColumn.d.ts +0 -0
- package/esm/{src → core/src}/tests/entityWithValidationsOnColumn.js +0 -0
- package/{src → esm/core/src}/tests/frontend-database-tests-setup.spec.d.ts +0 -0
- package/esm/{src → core/src}/tests/frontend-database-tests-setup.spec.js +0 -0
- package/{src → esm/core/src}/tests/h.d.ts +0 -0
- package/esm/{src → core/src}/tests/h.js +0 -0
- package/{src → esm/core/src}/tests/remult-3-entities.d.ts +0 -0
- package/esm/{src → core/src}/tests/remult-3-entities.js +0 -0
- package/{src → esm/core/src}/tests/tasks.d.ts +0 -0
- package/esm/{src → core/src}/tests/tasks.js +0 -0
- package/{src → esm/core/src}/tests/testHelper.spec.d.ts +0 -2
- package/esm/{src → core/src}/tests/testHelper.spec.js +57 -60
- package/{src → esm/core/src}/tests/testModel/models.d.ts +0 -0
- package/esm/{src → core/src}/tests/testModel/models.js +0 -0
- package/{src → esm/core/src}/validators.d.ts +0 -0
- package/esm/{src → core/src}/validators.js +0 -0
- package/{src → esm/core/src}/valueConverters.d.ts +0 -0
- package/esm/{src → core/src}/valueConverters.js +3 -1
- package/{urlBuilder.d.ts → esm/core/urlBuilder.d.ts} +0 -0
- package/esm/{urlBuilder.js → core/urlBuilder.js} +0 -0
- package/esm/test-servers/shared/Task.d.ts +9 -0
- package/esm/test-servers/shared/Task.js +62 -0
- package/package.json +1 -9
- package/test-servers/shared/Task.d.ts +9 -0
- package/test-servers/shared/Task.js +81 -0
- package/esm/live-query/ably.d.ts +0 -13
- package/esm/live-query/ably.js +0 -25
- package/esm/live-query/ablyLiveQuery.d.ts +0 -13
- package/esm/live-query/ablyLiveQuery.js +0 -25
- package/esm/live-query/index.d.ts +0 -2
- package/esm/live-query/index.js +0 -2
- package/esm/live-query/live-query.d.ts +0 -3
- package/esm/live-query/live-query.js +0 -2
- package/esm/live-query.d.ts +0 -3
- package/esm/live-query.js +0 -2
- package/esm/remult-express.d.ts +0 -30
- package/esm/remult-express.js +0 -135
- package/esm/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
- package/esm/src/live-query/EventSourceLiveQuery.d.ts +0 -5
- package/esm/src/live-query/EventSourceLiveQuery.js +0 -48
- package/esm/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
- package/esm/src/live-query/EventSourceLiveQueryProvider.js +0 -55
- package/esm/src/live-query/LiveQuery.d.ts +0 -67
- package/esm/src/live-query/LiveQuery.js +0 -225
- package/esm/src/live-query/LiveQueryManager.d.ts +0 -32
- package/esm/src/live-query/LiveQueryManager.js +0 -99
- package/esm/src/live-query/LiveQueryPublisher.d.ts +0 -21
- package/esm/src/live-query/LiveQueryPublisher.js +0 -71
- package/esm/src/live-query/LiveQuerySubscriber.d.ts +0 -62
- package/esm/src/live-query/LiveQuerySubscriber.js +0 -215
- package/esm/src/live-query/ablyLiveQuery.d.ts +0 -13
- package/esm/src/live-query/ablyLiveQuery.js +0 -25
- package/esm/src/live-query/index.d.ts +0 -2
- package/esm/src/live-query/index.js +0 -1
- package/esm/src/remult-proxy.d.ts +0 -2
- package/esm/src/remult3/getId.d.ts +0 -2
- package/esm/src/remult3/getId.js +0 -7
- package/live-query/ably.d.ts +0 -13
- package/live-query/ably.js +0 -38
- package/live-query/ablyLiveQuery.d.ts +0 -13
- package/live-query/ablyLiveQuery.js +0 -38
- package/live-query/index.d.ts +0 -2
- package/live-query/index.js +0 -7
- package/live-query/live-query.d.ts +0 -3
- package/live-query/live-query.js +0 -10
- package/live-query.d.ts +0 -3
- package/live-query.js +0 -7
- package/remult-express.d.ts +0 -30
- package/remult-express.js +0 -176
- package/src/backend-tests/test-http-server.backend-spec.d.ts +0 -6
- package/src/live-query/EventSourceLiveQuery.d.ts +0 -5
- package/src/live-query/EventSourceLiveQuery.js +0 -62
- package/src/live-query/EventSourceLiveQueryProvider.d.ts +0 -4
- package/src/live-query/EventSourceLiveQueryProvider.js +0 -62
- package/src/live-query/LiveQuery.d.ts +0 -67
- package/src/live-query/LiveQuery.js +0 -308
- package/src/live-query/LiveQueryManager.d.ts +0 -32
- package/src/live-query/LiveQueryManager.js +0 -198
- package/src/live-query/LiveQueryPublisher.d.ts +0 -21
- package/src/live-query/LiveQueryPublisher.js +0 -121
- package/src/live-query/LiveQuerySubscriber.d.ts +0 -62
- package/src/live-query/LiveQuerySubscriber.js +0 -335
- package/src/live-query/ablyLiveQuery.d.ts +0 -13
- package/src/live-query/ablyLiveQuery.js +0 -38
- package/src/remult-proxy.d.ts +0 -2
- package/src/remult3/getId.d.ts +0 -2
- package/src/remult3/getId.js +0 -11
package/README.md
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
<img src="https://github.com/remult/remult/raw/master/docs/.vuepress/public/logo.png" width="140" height="140">
|
|
4
4
|
</a>
|
|
5
5
|
<h1>Remult</h1>
|
|
6
|
+
<p>A CRUD framework for full-stack TypeScript</p>
|
|
6
7
|
<a href="https://circleci.com/gh/remult/remult/tree/master" rel="nofollow">
|
|
7
8
|
<img alt="CircleCI" src="https://circleci.com/gh/remult/remult/tree/master.svg?style=shield">
|
|
8
9
|
</a>
|
|
@@ -24,14 +25,29 @@
|
|
|
24
25
|
<a href="https://twitter.com/intent/tweet?text=Remult%20-%20open-source%20CRUD%20framework%20for%20full-stack%20TypeScript%0A%0A%40remultjs%0A&url=https%3A%2F%2Fgithub.com%2Fremult%2Fremult">
|
|
25
26
|
<img alt="Twitter URL" src="https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Ftwitter.com%2Fintent%2Ftweet%3Ftext%3DRemult%2520-%2520open-source%2520CRUD%2520framework%2520for%2520full-stack%2520TypeScript%250A%250A%2540remultjs%250A%26url%3Dhttps%253A%252F%252Fgithub.com%252Fremult%252Fremult">
|
|
26
27
|
</a>
|
|
27
|
-
<a href="https://twitter.com/remultjs" rel="nofollow">
|
|
28
|
-
<img alt="Twitter Follow" src="https://img.shields.io/twitter/url.svg?label=Follow%20%40remultjs&style=social&url=https%3A%2F%2Ftwitter.com%2FRemultJs">
|
|
29
|
-
</a>
|
|
30
28
|
</div>
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
<br/>
|
|
32
|
+
|
|
33
|
+
<div align="center">
|
|
34
|
+
<a href="#getting-started">Getting Started</a> |
|
|
35
|
+
<a href="#documentation">Documentation</a> |
|
|
36
|
+
<a href="#example-apps">Example Apps</a>
|
|
37
|
+
</div>
|
|
38
|
+
|
|
31
39
|
<hr/>
|
|
40
|
+
<br/>
|
|
32
41
|
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
<a href="https://www.youtube.com/watch?v=rEoScmSVNUE" target="_blank">
|
|
43
|
+
<p align="center">
|
|
44
|
+
<img src="https://github.com/remult/remult/raw/master/static/images/video-thumbnail.jpg" alt="Video thumbnail" />
|
|
45
|
+
</p>
|
|
46
|
+
</a>
|
|
47
|
+
|
|
48
|
+
<a href="https://www.youtube.com/watch?v=rEoScmSVNUE" target="_blank">
|
|
49
|
+
<p align="center">Watch code demo on YouTube here (14 mins)</p>
|
|
50
|
+
</a>
|
|
35
51
|
|
|
36
52
|
## What is Remult?
|
|
37
53
|
|
|
@@ -39,6 +55,13 @@
|
|
|
39
55
|
as a single source of truth for your API, frontend type-safe API client and
|
|
40
56
|
backend ORM**.
|
|
41
57
|
|
|
58
|
+
* :zap: Zero-boilerplate CRUD API routes with paging, sorting, and filtering for Express / Fastify / Next.js / NestJS / Koa / others...
|
|
59
|
+
* :ok_hand: Fullstack type-safety for API queries, mutations and RPC, without code generation
|
|
60
|
+
* :sparkles: Input validation, defined once, runs both on the backend and on the frontend for best UX
|
|
61
|
+
* :lock: Fine-grained code-based API authorization
|
|
62
|
+
* :relieved: Incrementally adoptable
|
|
63
|
+
* :rocket: Production ready
|
|
64
|
+
|
|
42
65
|
### Status
|
|
43
66
|
|
|
44
67
|
Remult is **production-ready** and, in fact, used in production apps since 2018.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/{esm → core}/index.d.ts
RENAMED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export { Field, Fields, FieldsMetadata, Entity, EntityBase, ControllerBase, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, QueryResult, QueryOptions, Repository, FieldType, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, getFields, EntityRef, getEntityRef, SortSegments, ValueListFieldType, getValueList, ValueListFieldOptions, ValueListInfo, OmitEB, Paginator, CaptionTransformer } from './src/remult3';
|
|
2
|
-
export { StringFieldOptions } from './src/remult3/RepositoryImplementation';
|
|
1
|
+
export { Field, Fields, StringFieldOptions, FieldsMetadata, Entity, EntityBase, ControllerBase, FieldRef, IdFieldRef, FieldsRef, EntityMetadata, EntityOrderBy, EntityFilter, FindOptions, QueryResult, QueryOptions, Repository, FieldType, FindFirstOptions, ComparisonValueFilter, ValueFilter, IdFilter, ContainsStringValueFilter, getFields, EntityRef, getEntityRef, SortSegments, ValueListFieldType, getValueList, ValueListFieldOptions, ValueListInfo, OmitEB, Paginator, CaptionTransformer } from './src/remult3';
|
|
3
2
|
export { describeClass } from './src/remult3/DecoratorReplacer';
|
|
4
3
|
export { EntityOptions } from './src/entity';
|
|
5
4
|
export { DataProvider, EntityDataProvider, EntityDataProviderFindOptions, ErrorInfo, RestDataProviderHttpProvider } from './src/data-interfaces';
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -62,7 +62,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
62
62
|
return tslib_1.__generator(this, function (_b) {
|
|
63
63
|
switch (_b.label) {
|
|
64
64
|
case 0:
|
|
65
|
-
console.log("start verify structure");
|
|
65
|
+
console.log("start verify structure");
|
|
66
66
|
_b.label = 1;
|
|
67
67
|
case 1:
|
|
68
68
|
_b.trys.push([1, 12, 13, 14]);
|
|
@@ -92,7 +92,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
92
92
|
case 8: return [3 /*break*/, 10];
|
|
93
93
|
case 9:
|
|
94
94
|
err_1 = _b.sent();
|
|
95
|
-
|
|
95
|
+
console.log("failed verify structure of " + e.entityName + " ", err_1);
|
|
96
96
|
return [3 /*break*/, 10];
|
|
97
97
|
case 10:
|
|
98
98
|
allEntities_1_1 = allEntities_1.next();
|
|
@@ -202,7 +202,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
202
202
|
case 5: return [3 /*break*/, 7];
|
|
203
203
|
case 6:
|
|
204
204
|
err_2 = _a.sent();
|
|
205
|
-
console.
|
|
205
|
+
console.log(err_2);
|
|
206
206
|
return [3 /*break*/, 7];
|
|
207
207
|
case 7: return [2 /*return*/];
|
|
208
208
|
}
|
|
@@ -258,7 +258,7 @@ var PostgresSchemaBuilder = /** @class */ (function () {
|
|
|
258
258
|
case 10: return [3 /*break*/, 12];
|
|
259
259
|
case 11:
|
|
260
260
|
err_3 = _d.sent();
|
|
261
|
-
console.
|
|
261
|
+
console.log(err_3);
|
|
262
262
|
return [3 /*break*/, 12];
|
|
263
263
|
case 12: return [2 /*return*/];
|
|
264
264
|
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as express from 'express';
|
|
2
|
+
import { RemultServer, RemultServerOptions } from './server/expressBridge';
|
|
3
|
+
export declare function remultExpress(options?: RemultServerOptions<express.Request> & {
|
|
4
|
+
bodyParser?: boolean;
|
|
5
|
+
bodySizeLimit?: string;
|
|
6
|
+
}): express.RequestHandler & RemultServer;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.remultExpress = void 0;
|
|
4
|
+
var tslib_1 = require("tslib");
|
|
5
|
+
var express = require("express");
|
|
6
|
+
var index_1 = require("./server/index");
|
|
7
|
+
function remultExpress(options) {
|
|
8
|
+
var app = express.Router();
|
|
9
|
+
if (!options) {
|
|
10
|
+
options = {};
|
|
11
|
+
}
|
|
12
|
+
if (options.bodySizeLimit === undefined) {
|
|
13
|
+
options.bodySizeLimit = '10mb';
|
|
14
|
+
}
|
|
15
|
+
if ((options === null || options === void 0 ? void 0 : options.bodyParser) !== false) {
|
|
16
|
+
app.use(express.json({ limit: options.bodySizeLimit }));
|
|
17
|
+
app.use(express.urlencoded({ extended: true, limit: options.bodySizeLimit }));
|
|
18
|
+
}
|
|
19
|
+
var server = index_1.createRemultServer(options);
|
|
20
|
+
server.registerRouter(app);
|
|
21
|
+
return Object.assign(app, {
|
|
22
|
+
getRemult: function (req) { return server.getRemult(req); },
|
|
23
|
+
openApiDoc: function (options) { return server.openApiDoc(options); },
|
|
24
|
+
registerRouter: function (x) { return server.registerRouter(x); },
|
|
25
|
+
withRemult: function () {
|
|
26
|
+
var args = [];
|
|
27
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
28
|
+
args[_i] = arguments[_i];
|
|
29
|
+
}
|
|
30
|
+
return server.withRemult.apply(server, tslib_1.__spread(args));
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
exports.remultExpress = remultExpress;
|
|
File without changes
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.remultFastify = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
|
-
var
|
|
5
|
+
var index_1 = require("./server/index");
|
|
6
6
|
function remultFastify(options) {
|
|
7
7
|
var _this = this;
|
|
8
8
|
function fastifyHandler(handler) {
|
|
@@ -23,7 +23,7 @@ function remultFastify(options) {
|
|
|
23
23
|
};
|
|
24
24
|
return response;
|
|
25
25
|
}
|
|
26
|
-
var api =
|
|
26
|
+
var api = index_1.createRemultServer(options);
|
|
27
27
|
var pluginFunction = function (instance, op) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
28
28
|
var fastifyRouter;
|
|
29
29
|
return tslib_1.__generator(this, function (_a) {
|
|
File without changes
|
|
@@ -5,7 +5,7 @@ var tslib_1 = require("tslib");
|
|
|
5
5
|
var expressBridge_1 = require("./server/expressBridge");
|
|
6
6
|
function remultFresh(options, response) {
|
|
7
7
|
var _this = this;
|
|
8
|
-
var server = expressBridge_1.
|
|
8
|
+
var server = expressBridge_1.createRemultServerCore(options);
|
|
9
9
|
return {
|
|
10
10
|
getRemult: function (r) { return server.getRemult(r); },
|
|
11
11
|
openApiDoc: function (x) { return server.openApiDoc(x); },
|
|
File without changes
|
|
@@ -257,7 +257,7 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
257
257
|
};
|
|
258
258
|
KnexEntityDataProvider.prototype.insert = function (data) {
|
|
259
259
|
return tslib_1.__awaiter(this, void 0, void 0, function () {
|
|
260
|
-
var e, resultFilter, insertObject, _a, _b, x, v, key, e_3_1, insert, result,
|
|
260
|
+
var e, resultFilter, insertObject, _a, _b, x, v, key, e_3_1, insert, newId_1, result, result;
|
|
261
261
|
var e_3, _c;
|
|
262
262
|
var _this = this;
|
|
263
263
|
return tslib_1.__generator(this, function (_d) {
|
|
@@ -304,18 +304,26 @@ var KnexEntityDataProvider = /** @class */ (function () {
|
|
|
304
304
|
return [7 /*endfinally*/];
|
|
305
305
|
case 10:
|
|
306
306
|
insert = this.knex(e.entityName).insert(insertObject);
|
|
307
|
-
if (!remult3_1.isAutoIncrement(this.entity.idMetadata.field)) return [3 /*break*/,
|
|
308
|
-
|
|
307
|
+
if (!remult3_1.isAutoIncrement(this.entity.idMetadata.field)) return [3 /*break*/, 15];
|
|
308
|
+
if (!(this.knex.client.config.client === 'mysql2')) return [3 /*break*/, 12];
|
|
309
|
+
return [4 /*yield*/, insert];
|
|
309
310
|
case 11:
|
|
310
311
|
result = _d.sent();
|
|
311
|
-
newId_1 = result[0]
|
|
312
|
-
resultFilter = new filter_interfaces_1.Filter(function (x) { return x.isEqualTo(_this.entity.idMetadata.field, newId_1); });
|
|
312
|
+
newId_1 = result[0];
|
|
313
313
|
return [3 /*break*/, 14];
|
|
314
|
-
case 12: return [4 /*yield*/, insert];
|
|
314
|
+
case 12: return [4 /*yield*/, insert.returning(this.entity.idMetadata.field.key)];
|
|
315
315
|
case 13:
|
|
316
|
-
_d.sent();
|
|
316
|
+
result = _d.sent();
|
|
317
|
+
newId_1 = result[0].id;
|
|
317
318
|
_d.label = 14;
|
|
318
|
-
case 14:
|
|
319
|
+
case 14:
|
|
320
|
+
resultFilter = new filter_interfaces_1.Filter(function (x) { return x.isEqualTo(_this.entity.idMetadata.field, newId_1); });
|
|
321
|
+
return [3 /*break*/, 17];
|
|
322
|
+
case 15: return [4 /*yield*/, insert];
|
|
323
|
+
case 16:
|
|
324
|
+
_d.sent();
|
|
325
|
+
_d.label = 17;
|
|
326
|
+
case 17: return [2 /*return*/, this.find({ where: resultFilter }).then(function (y) {
|
|
319
327
|
return y[0];
|
|
320
328
|
})];
|
|
321
329
|
}
|
|
@@ -525,7 +533,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
525
533
|
return tslib_1.__generator(this, function (_e) {
|
|
526
534
|
switch (_e.label) {
|
|
527
535
|
case 0:
|
|
528
|
-
console.
|
|
536
|
+
console.log("start verify structure");
|
|
529
537
|
_e.label = 1;
|
|
530
538
|
case 1:
|
|
531
539
|
_e.trys.push([1, 12, 13, 14]);
|
|
@@ -719,7 +727,7 @@ var KnexSchemaBuilder = /** @class */ (function () {
|
|
|
719
727
|
case 10: return [3 /*break*/, 12];
|
|
720
728
|
case 11:
|
|
721
729
|
err_3 = _d.sent();
|
|
722
|
-
console.
|
|
730
|
+
console.log(err_3);
|
|
723
731
|
return [3 /*break*/, 12];
|
|
724
732
|
case 12: return [2 /*return*/];
|
|
725
733
|
}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { queuedJobInfo, QueueStorage, GenericRequest, GenericRequestHandler, GenericResponse, GenericRouter,
|
|
1
|
+
export { queuedJobInfo, QueueStorage, GenericRequest, GenericRequestHandler, GenericResponse, GenericRouter, createRemultServerCore, RemultServerOptions, SpecificRoute, RemultServer } from './expressBridge';
|
|
2
2
|
export { JsonEntityFileStorage, JsonFileDataProvider } from './JsonEntityFileStorage';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JsonFileDataProvider = exports.JsonEntityFileStorage = exports.
|
|
3
|
+
exports.JsonFileDataProvider = exports.JsonEntityFileStorage = exports.createRemultServerCore = void 0;
|
|
4
4
|
var expressBridge_1 = require("./expressBridge");
|
|
5
|
-
Object.defineProperty(exports, "
|
|
5
|
+
Object.defineProperty(exports, "createRemultServerCore", { enumerable: true, get: function () { return expressBridge_1.createRemultServerCore; } });
|
|
6
6
|
var JsonEntityFileStorage_1 = require("./JsonEntityFileStorage");
|
|
7
7
|
Object.defineProperty(exports, "JsonEntityFileStorage", { enumerable: true, get: function () { return JsonEntityFileStorage_1.JsonEntityFileStorage; } });
|
|
8
8
|
Object.defineProperty(exports, "JsonFileDataProvider", { enumerable: true, get: function () { return JsonEntityFileStorage_1.JsonFileDataProvider; } });
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { queuedJobInfoResponse } from '../src/server-action';
|
|
2
2
|
import { DataProvider } from '../src/data-interfaces';
|
|
3
|
-
import {
|
|
4
|
-
import { AllowedForInstance, Remult, UserInfo } from '../src/context';
|
|
3
|
+
import { Remult, UserInfo } from '../src/context';
|
|
5
4
|
import { ClassType } from '../classType';
|
|
6
5
|
import { Repository } from '../src/remult3';
|
|
7
6
|
import { IdEntity } from '../src/id-entity';
|
|
8
|
-
import { LiveQueryPublisher } from '../src/live-query/LiveQueryPublisher';
|
|
9
7
|
export interface RemultServerOptions<RequestType extends GenericRequest> {
|
|
10
8
|
/** Sets a database connection for Remult.
|
|
11
9
|
*
|
|
@@ -22,7 +20,7 @@ export interface RemultServerOptions<RequestType extends GenericRequest> {
|
|
|
22
20
|
controllers?: ClassType<any>[];
|
|
23
21
|
rootPath?: string;
|
|
24
22
|
}
|
|
25
|
-
export declare function
|
|
23
|
+
export declare function createRemultServerCore<RequestType extends GenericRequest = GenericRequest>(options?: RemultServerOptions<RequestType>): RemultServer;
|
|
26
24
|
export declare type GenericRequestHandler = (req: GenericRequest, res: GenericResponse, next: VoidFunction) => void;
|
|
27
25
|
export interface ServerHandleResponse {
|
|
28
26
|
data?: any;
|
|
@@ -59,39 +57,14 @@ export interface GenericResponse {
|
|
|
59
57
|
status(statusCode: number): GenericResponse;
|
|
60
58
|
end(): any;
|
|
61
59
|
}
|
|
62
|
-
export declare class
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
constructor(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
handle(req: GenericRequest, gRes?: GenericResponse): Promise<ServerHandleResponse>;
|
|
71
|
-
registeredRouter: boolean;
|
|
72
|
-
registerRouter(r: GenericRouter): void;
|
|
73
|
-
add(key: string, dataApiFactory: ((req: Remult) => DataApi), r: GenericRouter): void;
|
|
74
|
-
process(what: (remult: Remult, myReq: DataApiRequest, myRes: DataApiResponse, origReq: GenericRequest) => Promise<void>): (req: GenericRequest, res: GenericResponse) => Promise<void>;
|
|
75
|
-
getRemult(req: GenericRequest): Promise<Remult>;
|
|
76
|
-
hasQueue: boolean;
|
|
77
|
-
addAction(action: ActionInterface, r: GenericRouter): void;
|
|
78
|
-
openApiDoc(options: {
|
|
79
|
-
title: string;
|
|
80
|
-
version?: string;
|
|
81
|
-
}): any;
|
|
82
|
-
backendMethodsOpenApi: {
|
|
83
|
-
path: string;
|
|
84
|
-
allowed: AllowedForInstance<any>;
|
|
85
|
-
tag: string;
|
|
86
|
-
}[];
|
|
87
|
-
}
|
|
88
|
-
declare class inProcessQueueHandler {
|
|
89
|
-
private storage;
|
|
90
|
-
constructor(storage: QueueStorage);
|
|
91
|
-
submitJob(url: string, req: Remult, body: any): Promise<string>;
|
|
92
|
-
mapQueuedAction(url: string, what: (data: any, r: Remult, res: ApiActionResponse) => void): void;
|
|
93
|
-
actions: Map<string, (data: any, r: Remult, res: ApiActionResponse) => void>;
|
|
94
|
-
getJobInfo(queuedJobId: string): Promise<queuedJobInfo>;
|
|
60
|
+
export declare class RemultAsyncLocalStorage {
|
|
61
|
+
private readonly remultObjectStorage;
|
|
62
|
+
static enable(): void;
|
|
63
|
+
static disable(): void;
|
|
64
|
+
constructor(remultObjectStorage: import('async_hooks').AsyncLocalStorage<Remult>);
|
|
65
|
+
run(remult: Remult, callback: VoidFunction): void;
|
|
66
|
+
getRemult(): Remult;
|
|
67
|
+
static instance: RemultAsyncLocalStorage;
|
|
95
68
|
}
|
|
96
69
|
export interface queuedJobInfo {
|
|
97
70
|
info: queuedJobInfoResponse;
|
|
@@ -117,12 +90,6 @@ export declare class EntityQueueStorage implements QueueStorage {
|
|
|
117
90
|
getJobInfo(queuedJobId: string): Promise<queuedJobInfo>;
|
|
118
91
|
createJob(url: string, userId: string): Promise<string>;
|
|
119
92
|
}
|
|
120
|
-
declare class RouteImplementation {
|
|
121
|
-
map: Map<string, Map<string, GenericRequestHandler>>;
|
|
122
|
-
route(path: string): SpecificRoute;
|
|
123
|
-
handle(req: GenericRequest, gRes?: GenericResponse): Promise<ServerHandleResponse | undefined>;
|
|
124
|
-
middleware(req: GenericRequest, res: GenericResponse, next: VoidFunction): void;
|
|
125
|
-
}
|
|
126
93
|
export declare class JobsInQueueEntity extends IdEntity {
|
|
127
94
|
userId: string;
|
|
128
95
|
url: string;
|
|
@@ -133,4 +100,3 @@ export declare class JobsInQueueEntity extends IdEntity {
|
|
|
133
100
|
error: boolean;
|
|
134
101
|
progress: number;
|
|
135
102
|
}
|
|
136
|
-
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JobsInQueueEntity = exports.EntityQueueStorage = exports.
|
|
3
|
+
exports.JobsInQueueEntity = exports.EntityQueueStorage = exports.RemultAsyncLocalStorage = exports.createRemultServerCore = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var server_action_1 = require("../src/server-action");
|
|
6
6
|
var data_api_1 = require("../src/data-api");
|
|
@@ -9,7 +9,7 @@ var remult3_1 = require("../src/remult3");
|
|
|
9
9
|
var id_entity_1 = require("../src/id-entity");
|
|
10
10
|
var remult_proxy_1 = require("../src/remult-proxy");
|
|
11
11
|
;
|
|
12
|
-
function
|
|
12
|
+
function createRemultServerCore(options) {
|
|
13
13
|
var _this = this;
|
|
14
14
|
if (!options) {
|
|
15
15
|
options = {};
|
|
@@ -40,35 +40,7 @@ function createRemultServer(options) {
|
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
42
|
}); });
|
|
43
|
-
|
|
44
|
-
dataProvider = dataProvider.then(function (dp) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
45
|
-
var asyncHooks, _a;
|
|
46
|
-
return tslib_1.__generator(this, function (_b) {
|
|
47
|
-
switch (_b.label) {
|
|
48
|
-
case 0:
|
|
49
|
-
_b.trys.push([0, 2, , 3]);
|
|
50
|
-
return [4 /*yield*/, Promise.resolve().then(function () { return require('async_hooks'); })];
|
|
51
|
-
case 1:
|
|
52
|
-
asyncHooks = _b.sent();
|
|
53
|
-
remultObjectStorage = new RemultAsyncLocalStorage(new asyncHooks.AsyncLocalStorage());
|
|
54
|
-
return [3 /*break*/, 3];
|
|
55
|
-
case 2:
|
|
56
|
-
_a = _b.sent();
|
|
57
|
-
remultObjectStorage = new RemultAsyncLocalStorage(undefined);
|
|
58
|
-
return [3 /*break*/, 3];
|
|
59
|
-
case 3:
|
|
60
|
-
remult_proxy_1.remult.remultFactory = function () {
|
|
61
|
-
var r = remultObjectStorage.getRemult();
|
|
62
|
-
if (r)
|
|
63
|
-
return r;
|
|
64
|
-
else
|
|
65
|
-
throw new Error("remult object was requested outside of a valid context, try running it within initApi or a remult request cycle");
|
|
66
|
-
};
|
|
67
|
-
return [2 /*return*/, dp];
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
}); });
|
|
71
|
-
}
|
|
43
|
+
RemultAsyncLocalStorage.enable();
|
|
72
44
|
if (options.initApi) {
|
|
73
45
|
dataProvider = dataProvider.then(function (dp) { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
74
46
|
var remult;
|
|
@@ -78,7 +50,7 @@ function createRemultServer(options) {
|
|
|
78
50
|
case 0:
|
|
79
51
|
remult = new context_1.Remult(dp);
|
|
80
52
|
return [4 /*yield*/, new Promise(function (res) {
|
|
81
|
-
|
|
53
|
+
RemultAsyncLocalStorage.instance.run(remult, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
82
54
|
return tslib_1.__generator(this, function (_a) {
|
|
83
55
|
switch (_a.label) {
|
|
84
56
|
case 0: return [4 /*yield*/, options.initApi(remult)];
|
|
@@ -113,12 +85,24 @@ function createRemultServer(options) {
|
|
|
113
85
|
var bridge = new RemultServerImplementation(new inProcessQueueHandler(options.queueStorage), options, dataProvider);
|
|
114
86
|
return bridge;
|
|
115
87
|
}
|
|
116
|
-
exports.
|
|
88
|
+
exports.createRemultServerCore = createRemultServerCore;
|
|
117
89
|
;
|
|
118
90
|
var RemultAsyncLocalStorage = /** @class */ (function () {
|
|
119
91
|
function RemultAsyncLocalStorage(remultObjectStorage) {
|
|
120
92
|
this.remultObjectStorage = remultObjectStorage;
|
|
121
93
|
}
|
|
94
|
+
RemultAsyncLocalStorage.enable = function () {
|
|
95
|
+
remult_proxy_1.remult.remultFactory = function () {
|
|
96
|
+
var r = RemultAsyncLocalStorage.instance.getRemult();
|
|
97
|
+
if (r)
|
|
98
|
+
return r;
|
|
99
|
+
else
|
|
100
|
+
throw new Error("remult object was requested outside of a valid context, try running it within initApi or a remult request cycle");
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
RemultAsyncLocalStorage.disable = function () {
|
|
104
|
+
remult_proxy_1.remult.resetFactory();
|
|
105
|
+
};
|
|
122
106
|
RemultAsyncLocalStorage.prototype.run = function (remult, callback) {
|
|
123
107
|
if (this.remultObjectStorage)
|
|
124
108
|
this.remultObjectStorage.run(remult, callback);
|
|
@@ -127,13 +111,14 @@ var RemultAsyncLocalStorage = /** @class */ (function () {
|
|
|
127
111
|
};
|
|
128
112
|
RemultAsyncLocalStorage.prototype.getRemult = function () {
|
|
129
113
|
if (!this.remultObjectStorage) {
|
|
130
|
-
throw "can't use static remult in this environment, `async_hooks` were not
|
|
114
|
+
throw new Error("can't use static remult in this environment, `async_hooks` were not initialized");
|
|
131
115
|
}
|
|
132
116
|
return this.remultObjectStorage.getStore();
|
|
133
117
|
};
|
|
118
|
+
RemultAsyncLocalStorage.instance = new RemultAsyncLocalStorage(undefined);
|
|
134
119
|
return RemultAsyncLocalStorage;
|
|
135
120
|
}());
|
|
136
|
-
|
|
121
|
+
exports.RemultAsyncLocalStorage = RemultAsyncLocalStorage;
|
|
137
122
|
var RemultServerImplementation = /** @class */ (function () {
|
|
138
123
|
function RemultServerImplementation(queue, options, dataProvider) {
|
|
139
124
|
this.queue = queue;
|
|
@@ -235,7 +220,7 @@ var RemultServerImplementation = /** @class */ (function () {
|
|
|
235
220
|
var _this = this;
|
|
236
221
|
var myRoute = this.options.rootPath + '/' + key;
|
|
237
222
|
if (this.options.logApiEndPoints)
|
|
238
|
-
console.
|
|
223
|
+
console.log("[remult] " + myRoute);
|
|
239
224
|
r.route(myRoute)
|
|
240
225
|
.get(this.process(function (c, req, res) {
|
|
241
226
|
return dataApiFactory(c).httpGet(res, req);
|
|
@@ -273,13 +258,12 @@ var RemultServerImplementation = /** @class */ (function () {
|
|
|
273
258
|
myReq = new ExpressRequestBridgeToDataApiRequest(req);
|
|
274
259
|
myRes = new ExpressResponseBridgeToDataApiResponse(res, req);
|
|
275
260
|
remult = new context_1.Remult();
|
|
276
|
-
remult.liveQueryPublisher = this.liveQueryManager;
|
|
277
261
|
_a = remult;
|
|
278
262
|
return [4 /*yield*/, this.dataProvider];
|
|
279
263
|
case 1:
|
|
280
264
|
_a.dataProvider = (_b.sent());
|
|
281
265
|
return [4 /*yield*/, new Promise(function (res) {
|
|
282
|
-
|
|
266
|
+
RemultAsyncLocalStorage.instance.run(remult, function () { return tslib_1.__awaiter(_this, void 0, void 0, function () {
|
|
283
267
|
var user;
|
|
284
268
|
return tslib_1.__generator(this, function (_a) {
|
|
285
269
|
switch (_a.label) {
|
|
@@ -355,7 +339,7 @@ var RemultServerImplementation = /** @class */ (function () {
|
|
|
355
339
|
})();
|
|
356
340
|
_this.backendMethodsOpenApi.push({ path: myUrl, allowed: allowed, tag: tag });
|
|
357
341
|
if (_this.options.logApiEndPoints)
|
|
358
|
-
console.
|
|
342
|
+
console.log("[remult] " + myUrl);
|
|
359
343
|
if (queue) {
|
|
360
344
|
_this.hasQueue = true;
|
|
361
345
|
_this.queue.mapQueuedAction(myUrl, what);
|
|
@@ -686,7 +670,6 @@ var RemultServerImplementation = /** @class */ (function () {
|
|
|
686
670
|
};
|
|
687
671
|
return RemultServerImplementation;
|
|
688
672
|
}());
|
|
689
|
-
exports.RemultServerImplementation = RemultServerImplementation;
|
|
690
673
|
var ExpressRequestBridgeToDataApiRequest = /** @class */ (function () {
|
|
691
674
|
function ExpressRequestBridgeToDataApiRequest(r) {
|
|
692
675
|
this.r = r;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GenericRequest, RemultServer, RemultServerOptions } from './expressBridge';
|
|
2
|
+
export { queuedJobInfo, QueueStorage, GenericRequest, GenericRequestHandler, GenericResponse, GenericRouter, RemultServerOptions, SpecificRoute, RemultServer } from './expressBridge';
|
|
3
|
+
export { JsonEntityFileStorage, JsonFileDataProvider } from './JsonEntityFileStorage';
|
|
4
|
+
export declare function createRemultServer<RequestType extends GenericRequest = GenericRequest>(options?: RemultServerOptions<RequestType>): RemultServer;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createRemultServer = exports.JsonFileDataProvider = exports.JsonEntityFileStorage = void 0;
|
|
4
|
+
var expressBridge_1 = require("./expressBridge");
|
|
5
|
+
var initAsyncHooks_1 = require("./initAsyncHooks");
|
|
6
|
+
var JsonEntityFileStorage_1 = require("./JsonEntityFileStorage");
|
|
7
|
+
Object.defineProperty(exports, "JsonEntityFileStorage", { enumerable: true, get: function () { return JsonEntityFileStorage_1.JsonEntityFileStorage; } });
|
|
8
|
+
Object.defineProperty(exports, "JsonFileDataProvider", { enumerable: true, get: function () { return JsonEntityFileStorage_1.JsonFileDataProvider; } });
|
|
9
|
+
function createRemultServer(options) {
|
|
10
|
+
initAsyncHooks_1.initAsyncHooks();
|
|
11
|
+
return expressBridge_1.createRemultServerCore(options);
|
|
12
|
+
}
|
|
13
|
+
exports.createRemultServer = createRemultServer;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { dbTestWhatSignature } from "../shared-tests/db-tests-setup";
|
|
2
2
|
export declare const testKnexPGSqlImpl: (key: string, what: dbTestWhatSignature, focus?: boolean) => void;
|
|
3
|
+
export declare const mySqlTest: import("../shared-tests/db-tests-setup").dbTestMethodSignature;
|
|
3
4
|
export declare function testPostgresImplementation(key: string, what: dbTestWhatSignature, focus?: boolean): void;
|
|
4
5
|
export declare function testMongo(key: string, what: dbTestWhatSignature, focus?: boolean): void;
|
|
5
6
|
import '../shared-tests';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.testMongo = exports.testPostgresImplementation = exports.testKnexPGSqlImpl = void 0;
|
|
3
|
+
exports.testMongo = exports.testPostgresImplementation = exports.mySqlTest = exports.testKnexPGSqlImpl = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
var context_1 = require("../context");
|
|
6
6
|
var remult_knex_1 = require("../../remult-knex");
|
|
@@ -87,6 +87,16 @@ if (true)
|
|
|
87
87
|
filename: ":memory:"
|
|
88
88
|
},
|
|
89
89
|
}), "sqlite3"));
|
|
90
|
+
exports.mySqlTest = db_tests_setup_1.addDatabaseToTest(testKnexSqlImpl(Knex.default({
|
|
91
|
+
client: 'mysql2',
|
|
92
|
+
connection: {
|
|
93
|
+
user: 'root',
|
|
94
|
+
password: 'MASTERKEY',
|
|
95
|
+
host: '127.0.0.1',
|
|
96
|
+
database: 'test'
|
|
97
|
+
}
|
|
98
|
+
//debug: true
|
|
99
|
+
}), "mysql2"));
|
|
90
100
|
var pg = postgres_1.createPostgresConnection({
|
|
91
101
|
autoCreateTables: false
|
|
92
102
|
});
|
|
File without changes
|