Skip to content

Commit

Permalink
Added support for turso
Browse files Browse the repository at this point in the history
  • Loading branch information
noam-honig committed May 13, 2024
1 parent 9bf12e4 commit 5f4a487
Show file tree
Hide file tree
Showing 10 changed files with 636 additions and 13 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ All notable changes to this project will be documented in this file.
- Fixed filterToRaw to use the current database `wrapIdentifier` when none is provided.
- Fixed endless retry on error 500 - now it'll retry 4 times 500ms apart.
- Fixed error when sql expression sometimes translated wrongfully to a recursion error
- Added support for [Turso](https://turso.tech/) db

## [0.26.10] 2024-05-02

Expand Down
35 changes: 35 additions & 0 deletions docs/docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -419,6 +419,41 @@ app.use(
)
```

### Turso

Install turso:

```sh
npm install @libsql/client
```

Set the `dataProvider` property:

<!-- prettier-ignore-start -->
```ts
import express from 'express'
import { remultExpress } from 'remult/remult-express'
import { SqlDatabase } from 'remult' // [!code highlight]
import { createClient } from '@libsql/client' // [!code highlight]
import { TursoDataProvider } from 'remult/remult-turso' // [!code highlight]
const app = express()

app.use(
remultExpress({
dataProvider: new SqlDatabase( // [!code highlight]
new TursoDataProvider( // [!code highlight]
createClient({ // [!code highlight]
url: process.env.TURSO_DATABASE_URL, // [!code highlight]
authToken: process.env.TURSO_AUTH_TOKEN, // [!code highlight]
}), // [!code highlight]
), // [!code highlight]
), // [!code highlight]
}),
)
```
<!-- prettier-ignore-end -->

== Microsoft SQL Server

Install knex and tedious:
Expand Down
32 changes: 23 additions & 9 deletions misc/public-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -2725,7 +2725,7 @@ export declare function remultExpress(
bodySizeLimit?: string
},
): RemultExpressServer
//[ ] RemultServerOptions from ./server/expressBridge.js is not exported
//[ ] RemultServerOptions from ./server/remult-api-server.js is not exported
export type RemultExpressServer = express.RequestHandler &
RemultServerCore<express.Request> & {
withRemult: (
Expand All @@ -2734,8 +2734,8 @@ export type RemultExpressServer = express.RequestHandler &
next: VoidFunction,
) => void
} & Pick<RemultServer<express.Request>, "withRemultAsync">
//[ ] RemultServerCore from ./server/expressBridge.js is not exported
//[ ] RemultServer from ./server/expressBridge.js is not exported
//[ ] RemultServerCore from ./server/remult-api-server.js is not exported
//[ ] RemultServer from ./server/remult-api-server.js is not exported
```

## ./remult-next.js
Expand Down Expand Up @@ -2788,7 +2788,7 @@ export declare function createRemultServer<RequestType>(
options: RemultServerOptions<RequestType>,
serverCoreOptions?: ServerCoreOptions<RequestType>,
): RemultServer<RequestType>
//[ ] ServerCoreOptions from ./expressBridge.js is not exported
//[ ] ServerCoreOptions from ./remult-api-server.js is not exported
export declare class DataProviderLiveQueryStorage
implements LiveQueryStorage, Storage
{
Expand Down Expand Up @@ -3196,13 +3196,13 @@ export declare class SseSubscriptionServer implements SubscriptionServer {
export declare function remultFastify(
options: RemultServerOptions<FastifyRequest>,
): RemultFastifyServer
//[ ] RemultServerOptions from ./server/expressBridge.js is not exported
//[ ] RemultServerOptions from ./server/remult-api-server.js is not exported
export type RemultFastifyServer = FastifyPluginCallback &
RemultServerCore<FastifyRequest> & {
withRemult: RemultServer<FastifyRequest>["withRemultAsync"]
}
//[ ] RemultServerCore from ./server/expressBridge.js is not exported
//[ ] RemultServer from ./server/expressBridge.js is not exported
//[ ] RemultServerCore from ./server/remult-api-server.js is not exported
//[ ] RemultServer from ./server/remult-api-server.js is not exported
```

## ./remult-hapi.js
Expand Down Expand Up @@ -3257,7 +3257,7 @@ export declare function remultFresh(
options: RemultServerOptions<FreshRequest>,
response: FreshResponse,
): RemultFresh
//[ ] RemultServerOptions from ./server/expressBridge.js is not exported
//[ ] RemultServerOptions from ./server/remult-api-server.js is not exported
export interface RemultFresh extends RemultServerCore<FreshRequest> {
handle(req: FreshRequest, ctx: FreshContext): Promise<any>
}
Expand Down Expand Up @@ -3371,7 +3371,7 @@ export declare class PostgresSchemaBuilder {
//[ ] Remult from TBD is not exported
export declare function preparePostgresQueueStorage(
sql: SqlDatabase,
): Promise<import("../server/expressBridge.js").EntityQueueStorage>
): Promise<import("../server/remult-api-server.js").EntityQueueStorage>
```

## ./postgres/schema-builder.js
Expand Down Expand Up @@ -3596,6 +3596,17 @@ export declare class Sqlite3DataProvider extends SqliteCoreDataProvider {
}
```

## ./remult-turso.js

```ts
export declare class TursoDataProvider extends SqliteCoreDataProvider {
private client
constructor(client: Pick<Client, "execute">)
transaction(action: (sql: SqlImplementation) => Promise<void>): Promise<void>
}
//[ ] SqlImplementation from ./index.js is not exported
```

## ./remult-bun-sqlite.js

```ts
Expand Down Expand Up @@ -3725,6 +3736,9 @@ export declare function decorateColumnSettings<valueType>(
remult: Remult,
): FieldOptions<any, valueType>
//[ ] FieldOptions from TBD is not exported
export const flags: {
error500RetryCount: number
}
export declare function getControllerRef<fieldsContainerType>(
container: fieldsContainerType,
remultArg?: Remult,
Expand Down
Loading

0 comments on commit 5f4a487

Please sign in to comment.